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;
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))
;
私が期待するのはこれです:
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))
;