我有以下用户实体:
@Entity
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
private String name;
@ManyToOne
private Group group;
// Getters and setters
}
Resourse以格式{name: "abc", group: 1}
我可以使用@NotNull
验证用户是否为空。但我还想验证组ID是否存在于数据库中。
最好的方法是什么。
答案 0 :(得分:1)
你必须在组的getter中编写一些代码。 如果group-id存在,则getter方法必须查找。 我完全不知道,但我很乐意提供帮助。我认为,你必须将其宣布为多对一关系。
这是一个代码探索。
示例1:使用泛型的一对多关联
在Customer
课程中:
@OneToMany(cascade=ALL, mappedBy="customer")
public Set getOrders() { return orders; }
在Order
课程中:
@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() { return customer; }
示例2:不使用泛型的一对多关联
在Customer
课程中:
@OneToMany(targetEntity=com.acme.Order.class, cascade=ALL,
mappedBy="customer")
public Set getOrders() { return orders; }
在Order
课程中:
@ManyToOne
@JoinColumn(name="CUST_ID", nullable=false)
public Customer getCustomer() { return customer; }