この質問を拡張するeclipselinkが再起動するたびにallocationSize全体を消費するのはなぜですか?
この問題の適切な解決策を知りたいのですが、その投稿の唯一の答えは、IDENTITY
私が行った戦略への切り替えを示唆していますが、変更を確認できません。50の割り当てサイズはまだ有効です。すべてのテーブルからアクセスできる単一のシーケンスではなく、各エンティティ(テーブル)に基づいてシーケンシャル識別子(1、2、3)を生成する方法の例はありますか?
質問する
1525 次
1 に答える
0
その目的のためにTableGeneratorアノテーションがあります。
@Entity
public class Employee {
@Id
@TableGenerator(name="TABLE_GEN", table="SEQUENCE_TABLE", pkColumnName="SEQ_NAME",
valueColumnName="SEQ_COUNT", pkColumnValue="EMP_SEQ", allocationSize = 500, initialValue = 1)
@GeneratedValue(strategy=GenerationType.TABLE, generator="TABLE_GEN")
private long id;
...
}
@Entity
public class PaySlip {
@Id
@TableGenerator(name="SECOND_TABLE_GEN", table="SECOND_SEQUENCE_TABLE", pkColumnName="SEQ_NAME",
valueColumnName="SEQ_COUNT", pkColumnValue="SECOND_EMP_SEQ", allocationSize = 500, initialValue = 1)
@GeneratedValue(strategy=GenerationType.TABLE, generator="SECOND_TABLE_GEN")
private long id;
...
}
すべての名前/*table*およびpkColumnValueフィールドの値が一意であることを確認してください。
参照
于 2012-05-26T21:22:13.083 に答える