0

コードからSQLスクリプトを生成するために、hibernate3-maven-pluginバージョン2.0hbm2ddlを使用しています。プロセスクラスを使用しています。シーケンスを使用しているエンティティクラスです。@SequenceGenerator(name = "sessionSeq"、sequenceName = "SESSION_SEQ"、allocationSize = 50、initialValue = 1)Mavenスクリプトを実行すると、作成シーケンスhibernate_sequenceが生成されます。シーケンスhibernate_sequenceを50ずつインクリメントするようなものを生成したかったのです。

誰かが私を助けることができますか?

私は次のjarファイルを使用しています: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 -レガシー-4.0.2.GAおよびDB関連のjar。

.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;
4

1 に答える 1

0

SchemaExportAPIで使用されているhibernate-core-3.6.1FinalのAPIを確認しました。このjarから呼び出されていたSequenceGenerator.javaクラスは、シーケンス定義を生成していたDialectクラスの非推奨のメソッドを使用していました。メソッドはpublicString[] getCreateSequenceStrings(String sequenceName)でしたが、代わりに、DialectクラスのString getCreateSequenceString(String sequenceName、int initialValue、int incrementalSize)を使用すると、問題が解決します。

于 2013-02-05T17:49:31.083 に答える