请考虑以下JPA实体:
@Entity
@Table(name = "addresses")
@Getter
@Setter
@NoArgsConstructor
public class AddressEntity {
@Id
@GeneratedValue
private Long id;
private String city;
private String postalCode;
private String street;
private String houseNumber;
}
字符串
我已经创建了一个Sping Boot 应用程序,它应该在H2数据库中创建这个表,并使用一些值初始化它。
spring:
h2:
console:
enabled: true
path: /h2
datasource:
url: jdbc:h2:mem:/testdB
username: sa
password:
driverClassName: org.h2.Driver
jpa:
hibernate:
ddl-auto: none
generate-ddl: true
defer-datasource-initialization: true
database-platform: org.hibernate.dialect.H2Dialect
sql:
init:
data-locations:
- classpath:addresses.sql
型
我的addresses.sql如下所示:
INSERT INTO ADDRESSES (ID, CITY, POSTAL_CODE, STREET, HOUSE_NUMBER)
VALUES (0, 'NYC', '10020', 'Main Street', '32 A')
型
当我启动我的应用程序时,我遇到了一个org.h2.jdbc.JdbcSQLSyntaxErrorException
。它说expected "DIRECT, SORTED, DEFAULT, VALUES, SET, (, WITH, SELECT, TABLE, VALUES";
的值。“
我在这里我的知识的尽头。语法似乎对我来说是正确的。当启动应用程序而没有初始化表,表被创建。我可以写数据到我的地址表在H2控制台内使用完全相同的sql脚本,我正在使用初始化表。有人可以帮助我吗?
1条答案
按热度按时间ne5o7dgx1#
在sql文件的末尾添加一个;。这应该可以解决你的问题。