hibernate3 maven插件hbm2ddl目标忽略序列定义,而是生成默认的hibernate_序列
我有一个带JPA注释的实体,其ID使用序列定义为自动生成的属性。但是当我试图用hibernate3 maven插件生成DDL时,我定义的序列并没有生成,而是hibernate_序列在那里hibernate3 maven插件hbm2ddl目标忽略序列定义,而是生成默认的hibernate_序列,hibernate,jpa,jpa-2.0,ddl,hibernate3-maven-plugin,Hibernate,Jpa,Jpa 2.0,Ddl,Hibernate3 Maven Plugin,我有一个带JPA注释的实体,其ID使用序列定义为自动生成的属性。但是当我试图用hibernate3 maven插件生成DDL时,我定义的序列并没有生成,而是hibernate_序列在那里 @Entity @Table(name = "DUMMY") @SequenceGenerator(name = "DUMMY_SEQ") public class Dummy { private Long pk; @Id @Column(name = "PK", nullable =
@Entity
@Table(name = "DUMMY")
@SequenceGenerator(name = "DUMMY_SEQ")
public class Dummy {
private Long pk;
@Id
@Column(name = "PK", nullable = false )
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="DUMMY_SEQ")
public Long getPk() {
return pk;
}
public void setPk(Long pk) {
this.pk = pk;
}
}
我期待着这样的事情:
create sequence DUMMY_SEQ;
在生成的DDL中。我做错了什么?
hibernate3 maven插件版本为2.2
hibernate entitymanager版本3.4.0.GA您尚未定义数据库序列的名称。SequenceGenerator中的属性名称是SequenceGenerator本身的唯一名称,而不是数据库中序列的名称。结果是提供程序默认值,在本例中使用*hibernate_sequence*。要影响序列的名称,请使用属性:
@SequenceGenerator(name = "DUMMY_SEQ", sequenceName="DUMMY_SEQ")