下面是我的物體類,我default在類的 EnumType 變數上添加了約束。但是,雖然 db 中的值,它并沒有采用該值并給出ContraintViolation. 物體
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "employee")
public class Employee{
@Id
private String id;
@Column(name = "name", nullable = false)
private String name;
@Column(name = "email", nullable = false)
private String email;
@Column(name = "language", nullable = false, columnDefinition = "VARCHAR(10) default 'ENGLISH'")
@Enumerated(EnumType.STRING)
private Language language;
}
在這里,如果我nullable從 Language Enum 中洗掉,該語言將保存為 null。為什么不采用默認值作為ENGLISH
uj5u.com熱心網友回復:
由于Language是 ENUM 型別,您可以使用:
@Column(name = "language", nullable = false, columnDefinition = "enum('ENGLISH' , 'CHINESE') default 'ENGLISH'")
uj5u.com熱心網友回復:
用下面的默認值初始化你的列舉屬性怎么樣?
@Column(name = "language", nullable = false, columnDefinition = "VARCHAR(10) default 'ENGLISH'")
@Enumerated(EnumType.STRING)
private Language language = Language.ENGLISH;
有關更多詳細資訊,請參閱此答案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/324735.html
