我对postgresql很新。 在使用Ebean 的playframework中,我使用了mysql和自动生成的值,在这种情况下实际上是自动递增的。我得到的顺序是1,2,3,4 ......
但是在Postgresql中,生成的值似乎没有这样的属性。似乎对于每个会话,它开始时的数字大于前一个会话的数字,然后自动递增。在这种情况下的顺序,1,21,41,42,61,81,101,102,103 ......
我的代码段:
@Entity
public class Post extends Model{
@Id
@GeneratedValue
@Required
public int id;
我正在使用:
我真的不知道原因。这种价值观有什么特别的原因吗?关于这个有什么关注吗?我需要切换到自动增量吗?如果是这样,我该怎么做?
答案 0 :(得分:0)
K,所以你使用的是AUTO策略,因为它是默认值。我对Ebean知之甚少,但是使用Hibernate,会创建一个名为hibernate_sequence的序列。
此序列将由其他实体共享,因此这可能是造成差距的部分原因。出于性能原因,您的ORM也可能是预先分配序列值。
无论哪种方式,我总是对Postgres使用IDENTITY策略,即使Postgres不使用IDENTITY。但它会为每个表创建一个序列,这通常是您想要的。