关系对
我们可以将 @ManyToOne
视为 @OneToMany/@ManyToOne 关系对的 “one”
端。
因此,它是映射到外键列的一端。
@Entity
public class Contact ...
// maps to "customer_id" foreign key column
@ManyToOne
Customer customer;
...
如果外键列与基于属性名称 + “_id” 的命名约定不匹配,则需要定义一个 @JoinColumn。
@Entity
public class Contact ...
// explicit @JoinColumn of "cust_id" as the foreign key column
@ManyToOne @JoinColumn("cust_id")
Customer customer;
...
optional=false
如果基础外键应具有 NOT NULL 约束,则指定 optional=false
。
@Entity
public class Contact ...
// not null constraint as optional=false
@ManyToOne(optional=false)
Customer customer;
...
@NotNull
我们可以使用 javax 验证 @NotNull
代替 optional=false
来定义基础外键列具有 NOT NULL 约束。
@Entity
public class Contact ...
// @NotNull same as optional=false
@NotNull @ManyToOne
Customer customer;
...