Hibernate allocationsize默认值不是50

时间:2016-08-15 13:55:43

标签: hibernate jpa oracle11g

我在我的应用程序中使用了Hibernate @SequenceGenerator。在尝试使用应用程序在DB中插入新实体时,新持久实体的ID与序列当前值相同,而不是序列的当前值乘以50.作为allocationsize的默认值是50.你有没有想法为什么会这样。提前谢谢。

@javax.persistence.SequenceGenerator(name="SEQ_NAME", sequenceName="SEQ_NAME"")
@Table(name="TABLE_NAME")
public class entity{
    @Column(name="ID")
    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_NAME"")
    int id;

1 个答案:

答案 0 :(得分:0)

您的序列似乎是由DBA创建的,而不是由您的JPA提供商创建的。因此,将allocationSize指定为JPA绝对没有意义(因为它仅用于模式/序列创建)。如果你想要一个特定的allocationSize,你需要告诉你的DBA在创建SEQUENCE时(通常通过类似INCREMENT BY之类的东西)进行设置。