jpa和java bean foreignkey验证

时间:2014-11-12 15:09:44

标签: java json jpa jax-rs javabeans

我有以下用户实体:

@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}

获取json

我可以使用@NotNull验证用户是否为空。但我还想验证组ID是否存在于数据库中。

最好的方法是什么。

1 个答案:

答案 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; }