【发布时间】:2015-08-06 00:37:53
【问题描述】:
我有一个关于休眠 @ManyToMany 关系的问题。首先,假设我有User 和Position 与ManyToMany 关系。这是User 中的Position 集合:
@JoinTable(name = "user_position", joinColumns = {
@JoinColumn(name = "user_id", referencedColumnName = "id")}, inverseJoinColumns = {
@JoinColumn(name = "position_id", referencedColumnName = "id")
})
@ManyToMany(fetch = FetchType.LAZY)
@OrderBy("id ASC")
private Collection<Position> positionCollection;
我使用了@OrderBy("id ASC"),所以当我调用user.getPositionCollection()时,结果将按id排序。现在我的问题是如何向集合添加条件? 例如这样的:
@OrderBy("id ASC")
@Condition("id > 10")
private Collection<Position> positionCollection;
编辑:
我用这种方式测试了@Where注解(注意deleted是布尔值):
@OneToMany(mappedBy = "user", fetch = FetchType.LAZY)
@Where(clause = "deleted = false")
private Collection<Position> positionCollection;
这会返回一个错误“where 子句”中的未知列“positi0_.false”
【问题讨论】:
标签: java hibernate orm many-to-many