让我们假设我有如下代码:
Entity
public class Order {
private Integer exampleNumber;
// ...
}
@Entity
public class User {
private List<Order> orders;
private Integer exampleNumber;
@OneToMany(fetch = FetchType.LAZY)
@JoinColumns({@JoinColumn(name = "user_nr", referencedColumnName = "id")})
public List<Order> getOrders() {
return this.orders;
}
public Integer getExampleNumber() {
return this.exampleNumber;
};
// ...
}我只想在我的方法getOrders()中获得那些User.getExampleNumber() = Order.getExampleNumber的订单。如何以最简单的方式将条件添加到此方法getOrders()?是否可以在@Filter,@WhereJoinTable中传递参数,或者我是否需要使用其他参数?
发布于 2021-10-18 19:34:45
这在JPA中是不可能传递值的
但是你可以使用
@Where喜欢
@Where(clause="example_nr=...")另外,建议的方法是使用Hibernate标准。
Criteria criteria = session.createCriteria(User.class);
...发布于 2021-10-26 12:45:06
在用户模型中放置以下代码
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="post")
private List<Order> orders;在顺序表中,调色板中的代码
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "user_id", nullable = false)
@JsonIgnore
private User user;有了这个,您就可以在获取用户详细信息时获取与用户相关的所有订单
https://stackoverflow.com/questions/69621472
复制相似问题