我正在使用jpa / hibernate
Country.java
@Column(nullable = false, name = "REGION")
private String region;
@Id
@Column(nullable = false, name = "CODE")
private String Code;
User.java
@Column(nullable = false, name = "NAME")
private String name;
@NaturalId
@ManyToOne
@JoinColumn(name = "COUNTRY")
private Country country;
有没有办法在hibernate的country列中为User.java设置@joinColumn的默认值?
答案 0 :(得分:1)
有没有办法在hibernate的country列中为User.java设置@joinColumn的默认值?
您可以使用columnDefinition
field in @JoinColumn
但这是依赖于数据库的,这不是最佳的。
@PrePersist
方法可能是更好的解决方案:
public class User {
...
@PrePersist
public void prePersist() {
if (country == null) {
country = new Country("US");
}
}
对于其他替代示例,请参阅此答案:Setting default values for columns in JPA