2

I have this set on my .hbm file.

<set name="subTopicsTb" table="subtopics_tb" inverse="true" lazy="false" fetch="select">
        <key>
            <column name="topic_id" />
        </key>
        <one-to-many class="com.topics.model.SubTopics" />
    </set>

now, the default is that, hibernate get's all subtopics where the topic_id is the id. i want to filter the subtopics. adding something like where subTopics.date is not null thanks

4

3 回答 3

3

这实际上有效,是date您数据库中的列名。where将原始 sql中的属性set 附加到您的查询中,因此您必须指定它在您的数据库中而不是 HQL中:

<set name="subTopicsTb" table="subtopics_tb" inverse="true" lazy="false" 
    fetch="select" where="date is not null">
    <key>
        <column name="topic_id" />
    </key>
    <one-to-many class="com.topics.model.SubTopics" />
</set>
于 2013-07-29T10:53:51.397 回答
1

添加 where 子句?我不知道你是如何在 XML 配置中设置的。但你可以在这里查看注释版本。

我在stackoverflow上找到了一些关于如何将 where 添加到 XML 的内容。

于 2013-01-28T15:51:38.663 回答
0

您是否使用HQL来检索您的子主题?如果是这样,您可以在选择中包含过滤器。例如:

String query = "FROM SubTopic subtopic WHERE subtopic.date != null"
于 2013-01-28T15:54:47.007 回答