[英]Hibernate Criteria with restriction on children
我上了简单的课
@Entity(name = "tag")
public class Tag
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
protected long id;
@Column(name = "tag", nullable = false)
private String tag;
public Tag()
{
}
public long getId()
{
return id;
}
public void setId(long id)
{
this.id = id;
}
public String getTag()
{
return tag;
}
public void setTag(String tag)
{
this.tag = tag;
}
}
它作为列表驻留在另一个类中,并使用
@ManyToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@JoinTable(name = "entry_tag_list", joinColumns = {
@JoinColumn(referencedColumnName = "id", nullable = false)}, inverseJoinColumns = {
@JoinColumn(referencedColumnName = "id", nullable = false)})
@Fetch(FetchMode.SELECT)
private List<Tag> tags;
所以当我使用创建条件时
cr.add(Restrictions.eq("tags.tag", tag));
我懂了
Caused by: org.hibernate.QueryException: could not resolve property: tags.tag
我确保我的getter和setter是getTags和setTags,所以我不确定自己缺少什么。
@Fetch(FetchMode.SELECT)
,我必须使用@Fetch(FetchMode.SELECT)
因为很多查询都依赖它。
这样尝试
cr.createAlias("tags", "tagsAlias");
cr.add(Restrictions.eq("tagsAlias.tag", tag);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.