Hibernate自动建表错误信息如下:
.
.
.
2013-02-01_14:37:17.031 ERROR o.h.tool.hbm2ddl.SchemaExport - Unsuccessful: create table scott.songjy_stock_detail (STOCK_ID number(10,0) not null unique, COMP_DESC varchar2(255 char) not null, COMP_NAME varchar2(100 char) not null, LISTED_DATE date not null, REMARK varchar2(255 char) not null, primary key (STOCK_ID))
2013-02-01_14:37:17.031 ERROR o.h.tool.hbm2ddl.SchemaExport - ORA-02261: such unique or primary key already exists in the table
alter table scott.songjy_stock_detail
add constraint FK6E7B6CD5953C343B
foreign key (STOCK_ID)
references scott.songjy_stock
.
.
.
解决方案是将以下代码中主键的修饰代码“unique = true”去掉
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="STOCK_SEQUENCE")
@SequenceGenerator(name="STOCK_SEQUENCE", sequenceName="SEQUENCE_STOCK",allocationSize=1)
@Column(name = "STOCK_ID", unique = true, nullable = false)
private Integer stockId;
修改后代码如下:
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="STOCK_SEQUENCE")
@SequenceGenerator(name="STOCK_SEQUENCE", sequenceName="SEQUENCE_STOCK",allocationSize=1)
@Column(name = "STOCK_ID", nullable = false)
private Integer stockId;