【问题标题】:Fetch subclass with Hibernate criteria使用 Hibernate 标准获取子类
【发布时间】:2016-09-03 04:01:15
【问题描述】:

我正在尝试使用 Hibernae 获取“对象”(这是我的数据库中的一行)。 'Nofitication' 在数据库中引用了'对象'。 “通知”包含引用“对象”的行。

我的问题是对象也有子类,我想得到完整的子类,而我只得到惰性对象。 这是我的代码:

public ScrollableResults getScrollableObjects(Transaction transaction, NotificationAttributes notificationAttributes) {
    Criteria criteria = transaction.getSession().createCriteria(Notification.class);
    criteria.setProjection(Projections.property("object"));
    criteria.add(Property.forName("name").eq(notificationAttributes.getName()));
    criteria.createAlias("object", "object",     CriteriaSpecification.LEFT_JOIN);
    ScrollableResults scroll = criteria.setFetchSize(1000).scroll(ScrollMode.FORWARD_ONLY);
    return scroll;
}

关于如何解决它的任何建议?谢谢。

【问题讨论】:

标签: java hibernate hibernate-mapping hibernate-criteria


【解决方案1】:

用这个例子试试

Criteria person = session.getCurrentSession().createCriteria(Person.class).createAlias("personId", "personId");

person.add(Restrictions.disjunction().add(Restrictions.ilike("PersonFirstname",Search,MatchMode.ANYWHERE))
.add(Restrictions.ilike("personId.Jacket",Search,MatchMode.ANYWHERE))
.add(Restrictions.ilike("personId.Color",Search,MatchMode.ANYWHERE))
.add(Restrictions.ilike("personId.Size",Search,MatchMode.ANYWHERE)));

【讨论】:

    猜你喜欢
    • 2016-10-11
    • 2014-05-31
    • 2015-05-24
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    • 2016-05-02
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多