【问题标题】:Criteria on a set of strings一组字符串的标准
【发布时间】:2015-08-26 20:21:53
【问题描述】:

我正在使用 Hibernate 3.6,并且我有一个类 Shop,其中包含一个 Set 类型的字段 alternateCodes,映射如下:

<set cascade="all-delete-orphan" lazy="true" name="alternateCodes"
     table="shops_alternateCodes">
    <key column="SHOP_ID" not-null="true"/>
    <element column="CODE" length="32" not-null="true" type="string"
             unique="true"/>
</set>

我想建立一个标准来搜索作为包含一些字符串的替代代码的商店。

HQL 等价物是这样的:

from Shop s join s.alternateCodes c where c=?

如何使用标准 API 来表达这一点?

提前致谢

附言

我试过这个:

            teria = getPm().createCriteria(Shop.class);
            ...
            teria.createAlias("alternateCodes", "acode");
            teria.add(Restrictions.eq("acode", code));

当然,它不起作用。

【问题讨论】:

    标签: hibernate hibernate-criteria


    【解决方案1】:

    试试这个

    .createCriteria(Shop.class)
    .createAlias("alternateCodes", "alternateCodes")
    .add(Restrictions.in("acode", code))
    

    【讨论】:

    • 不可能:Restrictions.in 需要一个集合作为第二个参数。反之亦然。
    猜你喜欢
    • 1970-01-01
    • 2017-07-27
    • 2011-01-30
    • 2012-05-19
    • 2012-01-26
    • 1970-01-01
    • 2011-04-26
    • 2015-12-06
    相关资源
    最近更新 更多