扩展这个问题为什么 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 回答