【问题标题】:EBean and default values for primary key(id), not nullEBean 和主键(id)的默认值,不为空
【发布时间】:2015-10-09 22:19:38
【问题描述】:

如果我试图在我的表中插入一些具有典型 ID(整数非空)字段的记录,并且我将 ID 字段留空(空),我必须确保使用正确的值自动。

对于 EBean,典型的常用方法是什么? (使用对某个数据库序列的单独调用,对序列的调用使用默认 ID 值,...)

附: 数据库是 PostgreSQL。所以,我没有“auto_increment”这个友好的 MySQL 特性。

【问题讨论】:

    标签: postgresql ebean


    【解决方案1】:

    我认为您需要将 serial 设置为 PostgresSQL 中主键列的数据类型以实现自动增量。看看这个post 了解串行是如何工作的。因此,我认为 ebean 方面不需要任何特殊更改。

    【讨论】:

    • 使用 Postgres,您可以使用串行或序列,但串行是首选选项。
    【解决方案2】:

    我只是使用@Id,不设置id,保存时应该插入一条生成id值的记录。

    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    @Entity
    @Table(name = "My_Table")
    public class MyTable extends Model {
    
        @Id
        private Integer primaryId;
        private String someField;
    
        public MyTable(String a) {
           someField = a;
        }
    }
    
    MyTable m = new MyTable("test");
    m.save();
    

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 2015-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多