gpt4 book ai didi

java - 如何使用 hibernate 在析取中添加别名?

转载 作者:太空宇宙 更新时间:2023-11-04 08:15:52 25 4
gpt4 key购买 nike

我正在使用 hibernate 编写一个 Criteria 查询。我有一个 DTO 对象,我必须使用它的字段生成一个查询。当我创建这样的析取时,一切看起来都很好:

Criteria c = s.createCriteria(Item.class);
c.add(Restrictions.disjunction()
.add(Restrictions.like("buyer", dto.getUser()))
.add(Restrictions.like("rndEngineer", dto.getUser()))
.add(Restrictions.like("logistics", dto.getUser()))
.add(Restrictions.like("qaEngineer", dto.getUser()))
);

但是如果我向查询添加别名以便能够执行此操作:

Criteria c = s.createCriteria(Item.class);
c.createAlias("wiEngineer", "we");
c.add(Restrictions.disjunction()
.add(Restrictions.like("buyer", dto.getUser()))
.add(Restrictions.like("rndEngineer", dto.getUser()))
.add(Restrictions.like("logistics", dto.getUser()))
.add(Restrictions.like("qaEngineer", dto.getUser()))
.add(Restrictions.like("we.sid", dto.getUser()))
);

where 子句很好,但我的结果集缺少一些元素。我认为 Hibernate 内部加入了我们的项目。我可以让 Hibernate left 以某种方式加入我的别名吗?我用谷歌搜索了一下,但没有结果。

最佳答案

Javadoc救援:

Criteria createAlias(String associationPath, String alias, int joinType) throws HibernateException

Join an association using the specified join-type, assigning an alias to the joined association.

The joinType is expected to be one of CriteriaSpecification.INNER_JOIN (the default), CriteriaSpecification.FULL_JOIN, or CriteriaSpecification.LEFT_JOIN.

当您有 javadoc 和 Hibernate 引用文档时,为什么还要使用 Google?

关于java - 如何使用 hibernate 在析取中添加别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com