所以,我有类,用实体注释,当我启动Spring启动应用程序时,我希望Hibernate在h2中创建Table,但我什么也看不见 h2 Spring应用程序属性只有spring.h2.console.enabled = true
我的班级看起来像
@Entity
公共类作者{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
private String firstName;
private String lastName;
private Set<Book> books = new HashSet<>();
public Author() {
}
请停止
答案 0 :(得分:0)
JPA具有DDL生成功能,可以将这些功能设置为在数据库启动时运行。这是通过两个外部属性来控制的:
spring.jpa.generate-ddl
(布尔值)打开和关闭功能,与供应商无关。
spring.jpa.hibernate.ddl-auto
(枚举)是一种Hibernate功能,可以更精细的方式控制行为。
您的属性文件应如下所示:
spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.H2Dialect
答案 1 :(得分:-1)
由于一个简单的愚蠢错误,我遇到了相同的错误。我想念启用休眠的拼写程序包名称。您可以正确检出它。