求助:hibernate 多对多 多对一 多表连接查询问题。
问题描述:每个Article可以有多个Tag,而每个Tag可以被多个Article使用,二者之间是多对多关系。然后每个Tag属于一个TagClass,而者之间是多对一关系。
现在我怎样用hql把所有属于一个TagClass的Article搜索出来?(严格的应该说是使用了该tagClass下的Tag的所有Article)。
代码演示:
public class Article
{
Long id;
String title;
.......
Set<Tag> tags = new HashSet<Tag>();
........
}
public class Tag
{
Long id;
String tagTitle;
TagClass tagClass;
........
Set<Article> arts = new HashSet<Article>();
........
}
public class TagClass
{
Long id;
String className;
.........
Set<Tag> tags = new HashSet<Tag>();
..........
}
在DAO层要实现的方法。
public List<Article> findArticleByTagClass(TagClass tagClass);
莫非我非得建立一个Article 到TagClass之间的多对一关系?这样是在不便于管理啊。比方修改了Tag所属的TagClass,还得修改Article和TagClass的对应关系。
问题描述完毕,请高手赐教。