【发布时间】:2018-05-02 10:58:23
【问题描述】:
当 SessionFactory 创建时,Hibernate hbm2ddl 仅创建 6 个表中的 2 个。
创建的表示例:
@Entity
@Table(name = "AUTHORITIES")
public class Authorities {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(name = "AUTHORITY", nullable=false)
private String authority;
@ManyToOne
@JoinColumn(name = "USERNAME", nullable=false)
private User user;
...getters, setters...
未创建的表示例:
@Entity
@Table(name = "EXERCISES")
public class Exercise {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@Column(name = "NAME", nullable=false)
private String name;
@Column(name = "DESCRIPTION")
private String description;
...getters, setters...
休眠属性
hibernate.show_sql=true
hibernate.hbm2ddl.auto=create
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
来自控制台的 SQL:
Hibernate: drop table if exists AUTHORITIES cascade
Hibernate: drop table if exists USERS cascade
Hibernate: create table AUTHORITIES (id serial not null, AUTHORITY varchar(255) not null, USERNAME varchar(255) not null, primary key (id))
Hibernate: create table USERS (USERNAME varchar(255) not null, ENABLED boolean not null, PASSWORD varchar(255) not null, primary key (USERNAME))
Hibernate: alter table AUTHORITIES add constraint FKl8gm1dxqhdixkdsm1p7er9c21 foreign key (USERNAME) references USERS
数据库是远程 ElephantSQL。
【问题讨论】:
-
其他表是什么?
-
无法从您发布的内容中看出。某处必须有其他信息性消息。或者可能缺少我们没有看到的配置。
-
我发布了一张已创建的表和一张未创建的表。如果需要,我可以将它们全部粘贴。我应该告诉你什么配置?
标签: java spring postgresql hibernate spring-mvc