HQL查询以多对多单向关系

时间:2014-07-13 05:23:38

标签: java mysql hibernate many-to-many hql

我有2个实体:主题和评论。他们有多对多的关系。 这是2个hbm.xml配置。

<hibernate-mapping package="entity"> <class name="Comment" table="COMMENT"> <id name="id" column="COMMENT_ID"> <generator class="increment"/> </id> <property name="message" column="MESSAGE" not-null="true"/> <many-to-one name="author" class="entity.User" fetch="select"> <column name="USER_ID" not-null="true"/> </many-to-one> </class> </hibernate-mapping>

<hibernate-mapping package="entity">
<class name="Topic" table="TOPIC">
    <id name="id" column="TOPIC_ID">
        <generator class="increment"/>
    </id>
    <bag name="comments" table="TOPIC_COMMENT" cascade="all" inverse="false" fetch="join">
        <key>
            <column name="TOPIC_ID"/>
        </key>
        <many-to-many class="entity.Comment" column="COMMENT_ID"/>
    </bag>
</class>

所以,我需要按主题获取所有评论。 我创建了一个简单的hql查询"from Topic t inner join t.comments where t.id = :id",但它没有工作。求你帮帮我。

1 个答案:

答案 0 :(得分:0)

select t from Topic t inner join t.comments tc where tc.id = :id