Spring Data Jpa 在Sping Boot 应用程序中初始化H2数据库失败

dbf7pr2w  于 2024-01-09  发布在  Spring
关注(0)|答案(1)|浏览(273)

请考虑以下JPA实体:

  1. @Entity
  2. @Table(name = "addresses")
  3. @Getter
  4. @Setter
  5. @NoArgsConstructor
  6. public class AddressEntity {
  7. @Id
  8. @GeneratedValue
  9. private Long id;
  10. private String city;
  11. private String postalCode;
  12. private String street;
  13. private String houseNumber;
  14. }

字符串
我已经创建了一个Sping Boot 应用程序,它应该在H2数据库中创建这个表,并使用一些值初始化它。

  1. spring:
  2. h2:
  3. console:
  4. enabled: true
  5. path: /h2
  6. datasource:
  7. url: jdbc:h2:mem:/testdB
  8. username: sa
  9. password:
  10. driverClassName: org.h2.Driver
  11. jpa:
  12. hibernate:
  13. ddl-auto: none
  14. generate-ddl: true
  15. defer-datasource-initialization: true
  16. database-platform: org.hibernate.dialect.H2Dialect
  17. sql:
  18. init:
  19. data-locations:
  20. - classpath:addresses.sql


我的addresses.sql如下所示:

  1. INSERT INTO ADDRESSES (ID, CITY, POSTAL_CODE, STREET, HOUSE_NUMBER)
  2. VALUES (0, 'NYC', '10020', 'Main Street', '32 A')


当我启动我的应用程序时,我遇到了一个org.h2.jdbc.JdbcSQLSyntaxErrorException。它说
expected "DIRECT, SORTED, DEFAULT, VALUES, SET, (, WITH, SELECT, TABLE, VALUES";的值。“
我在这里我的知识的尽头。语法似乎对我来说是正确的。当启动应用程序而没有初始化表,表被创建。我可以写数据到我的地址表在H2控制台内使用完全相同的sql脚本,我正在使用初始化表。有人可以帮助我吗?

ne5o7dgx

ne5o7dgx1#

在sql文件的末尾添加一个;。这应该可以解决你的问题。

相关问题