我正在使用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;
答案 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),它将解决我的问题。