【问题标题】:jpa and java bean foreignkey validationjpa 和 java bean 外键验证
【发布时间】:2014-11-12 15:09:43
【问题描述】:

我有以下用户实体:

@Entity
public class User implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private String name;

    @ManyToOne
    private Group group;

    // Getters and setters
}

资源获取格式为{name: "abc", group: 1}的json

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

最好的方法是什么。

【问题讨论】:

    标签: java json jpa jax-rs javabeans


    【解决方案1】:

    您必须在组的 getter 中编写一些代码。 如果 group-id 存在,getter-method 必须查找。 我不太清楚,但我很想帮忙。我认为,您必须将其声明为多对一关系。

    这是一个代码解释。

    示例 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; }
    

    【讨论】:

      猜你喜欢
      • 2020-06-30
      • 2015-10-13
      • 2019-02-03
      • 2023-03-12
      • 2011-12-08
      • 2013-04-16
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      相关资源
      最近更新 更多