使用hibernate3-maven-plugin生成Sequence Scripts

时间:2013-02-01 10:11:50

标签: hibernate code-generation sequence

我正在使用hibernate3-maven-plugin版本2.0 hbm2ddl从代码生成SQL脚本。我正在使用流程类。我的实体类我正在使用序列。 @SequenceGenerator(name =“sessionSeq”,sequenceName =“SESSION_SEQ”,allocationSize = 50,initialValue = 1) 当我运行Maven脚本时,会生成创建序列hibernate_sequence;我想让它生成类似于创建序列hibernate_sequence增量50的东西;

有人可以帮助我吗?

我正在使用以下罐子: hibernate-tools - 3.2.4.GA,hibernate-core - 3.6.1.Final,hibernate-entitymanager - 3.6.1.Final,hibernate-validator - 4.1.0.Final,hibernate-validator-legacy - 4.0.2。 GA和DB相关的罐子。

当我尝试生成.SQL文件时,hbm2ddl没有获取@SequenceGenerator的allocationSize = 50属性。

这是代码的摘录:

@Entity @SequenceGenerator(name =“sessionInfoIdSeq”,sequenceName =“SESSIONINFO_ID_SEQ”,allocationSize = 50)

公共类SessionInfo {

@Id  @GeneratedValue(strategy = GenerationType.AUTO, generator="sessionInfoIdSeq")
private Integer          id;

1 个答案:

答案 0 :(得分:0)

检查了SchemaExport API正在使用的hibernate-core-3.6.1 Final的API。 从这个jar调用的SequenceGenerator.java类是使用Dialect类中的一个不推荐使用的方法生成序列定义。该方法是public String [] getCreateSequenceStrings(String sequenceName),相反,如果它将使用Dialect类中的String getCreateSequenceString(String sequenceName,int initialValue,int incrementSize),它将解决我的问题。