【问题标题】:Hibernate - Restriction for class in a listHibernate - 列表中的类限制
【发布时间】:2011-03-01 02:30:19
【问题描述】:

我正在尝试拉回一组具有特定类型项目的项目列表。

例如:

<class name="Owner" table="OWNER">
<id name="id" column="OWNER_ID" />
<set name="cats" table="OWNER_CATS" lazy="false">
    <key column="OWNER_ID" />
    <many-to-many class="Cat" />
</set>

<class name="Cat" table="CAT" discriminator-value="C">
<id name="id" column="CAT_ID" />
<discriminator column="type" type="character" />

<subclass name="Lion" discriminator-value="L">
    <property name="teeth" />
</subclass>
</class>

使用限制,我如何获得将狮子作为宠物的主人名单?

我尝试了以下方法无济于事:

criteria.createCriteria("cats").add(Restrictions.eq("class", Lion.class));

【问题讨论】:

    标签: sql hibernate criteria


    【解决方案1】:

    目前(虽然我不确定这是否是故意的)它的工作方式是您必须将鉴别器值指定为限制值,而不是类本身,所以:

    criteria.createCriteria("cats").add(Restrictions.eq("class", "L"));
    

    在你的例子中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-04
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多