Play Framework 2 Ebean指定字段的默认值

sea*_*yer 7 java ebean playframework-evolutions playframework-2.2

我在Play Framework 2中有一个简单的模型,如果执行INSERT时没有提供,我想指定一个默认值插入指定的INT列.

模型:

@Entity
@Table(name = "DashboardOptions", schema = "dbo")
public class DashboardOptions extends Model implements Serializable {
    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    public Long id;

    @Basic(optional = false)
    @Column(name = "userId")
    public Long userId;

    @Column(name = "chartType")
    public String chartType;

    public String name;

    public Integer size = 2;
Run Code Online (Sandbox Code Playgroud)

我希望默认情况下size填充列2,但是,如果我指定上面的默认值,我的数据库演变不会反映这一点:

create table dbo.DashboardOptions (
id                        numeric(19) identity(1,1) not null,
userId                    numeric(19) not null,
chartType                 varchar(255),
name                      varchar(255),
size                      integer,
constraint pk_DashboardOptions primary key (id))
;
Run Code Online (Sandbox Code Playgroud)

我期望看到的是:

create table dbo.DashboardOptions (
id                        numeric(19) identity(1,1) not null,
userId                    numeric(19) not null,
chartType                 varchar(255),
name                      varchar(255),
size                      integer default 2,
constraint pk_DashboardOptions primary key (id))
;
Run Code Online (Sandbox Code Playgroud)

bie*_*ior 12

columnDefinition像这样使用自己:

@Column(columnDefinition = "integer default 2")
public Integer size = 2;
Run Code Online (Sandbox Code Playgroud)