Tag: hql

如何基于NOT条件加入2个实体

我有2个表 – 例如TableA和TableB,其中包含一些数据,如本文所定义 – 如何基于非条件连接2个表的结果 现在我打算为这两个表创建Hibernate实体,并且实体彼此不相关。 现在我想根据我之前提到的post中给出的NOT条件得到结果。 结果是使用SQL查询: SELECT id, name, partNumber, Aid, Aname, Apart FROM TableB AS t CROSS JOIN (SELECT id AS Aid, name AS Aname, partNumber AS Apart FROM TableA AS a WHERE NOT EXISTS (SELECT 1 FROM TableB AS b WHERE b.partNumber = a.partNumber)) AS c ORDER BY id 现在,如何为此类场景创建HQL查询或条件查询 。 […]

Hibernate和意外的Subtreeexception结束

我是Hibernate的新手。 我有一个Item POJO,其中包含一个由标签组成的Set 。 标签包含在Item表中的另一个Database表中,因此我进行了连接以填充pojo。 我正在尝试从“Java Persistance with Hibernate”一书中运行一个简单的示例查询,其中我from Item item where ‘hello’ member of item.labels查询from Item item where ‘hello’ member of item.labels 。 只是,由于某种原因,我得到了一个 `org.hibernate.hql.ast.QuerySyntaxException: unexpected end of subtree[from /*qualified class path*/.Item item where ‘hello’ member of item.labels]` 可能导致此问题的原因是什么? 这是我的POJO: public class Item private int uuid; private Setlabels = new HashSet(); @Id public int […]

带有group by的SQL连接的HQL版本

我有两张桌子,乐队和投票。 Band有一个名字和一个id,Votes有一个total_votes列和一个名为band_id的外键,指向band.id. 我有很多选票,在不同日期保存。 我想要做的是找到每个波段的total_votes列的最大值。 以下SQL查询有效: select b.name,max(v.total_votes) as total from band b, votes v where b.id=v.band_id group by b.name order by total desc; 不过,我正在使用的系统使用Hibernate。 我想将SQL查询重写为HQL或Hibernate条件查询。 这很容易,我只是错过了吗? 谢谢你的帮助。

无法将java.lang.Integer字段设置为java.lang.Integer

用户声明: @Entity public class User { @Id @GeneratedValue private Integer id; …. 模式声明: @Entity public class Pattern { @Id @GeneratedValue Integer id; … UserPatternDeclaration: public class UserPattern { @Id @GeneratedValue Integer id; @ManyToOne @JoinColumn(name = “user_id”) User user; @ManyToOne @JoinColumn(name = “pattern_id”) Pattern pattern; … 请求数据库: Session session = sessionFactory.getCurrentSession(); Query query = session.createQuery(“from UserPattern […]

如何将嵌套SQL转换为HQL

我是Hibernate和HQL的新手。 我想在HQL中编写更新查询,其SQL等效项如下: update patient set `last_name` = “new_last”, `first_name` = “new_first” where id = (select doctor_id from doctor where clinic_id = 22 and city = ‘abc_city’); doctor_id是doctor PK, patient是FK和PK。 有一对一的映射。 相应的Java类是Patient(具有字段lastName,firstName,doctorId)和Doctor(具有字段doctorId)。 任何人都可以告诉我们上面的SQL查询的HQL等价物是什么? 非常感谢。

在HQL上选择内连接

我想用HQL做类似的事情: SELECT * FROM tableA a INNER JOIN (select fieldA, sum(fieldB) as sum from tableB) b ON a.fieldA = b.fieldA and a.fieldC = b.sum; 但是这给出了一个错误: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: (… 有什么办法可以使用HQL和Hibernate来实现这个目的吗?

带收集的Hibernate AliasToBean

我在父类和子类之间定义了双向一对多关系。 我正在寻找执行一个查询,以便我可以返回单个父项,以及它在bean中的子项的子集。 public class Parent { private int id; private Set children = new HashSet(0); // other fields + getters and setters } public class Child { private Parent parent; private int age; // other fields + getters and setters } 我想要实现的输出是: public class ParentChildWrapper { private Parent parent; private Collection children; // subset of […]

java.lang.ClassCastException:[Ljava.lang.Object; 无法强制转换为entity.UserEntity

我想在hibernate中查询两个表。 用户实体中的featch 3表(用户 – 角色 – 配置文件)。 用hql查询: query= “select ue, ue.roleEntity.roleId from UserEntity ue ,RoleEntity re fetch all properties where ue.roleEntity.roleId=re.roleId and ue.username =’reza’ and ue.password=’123456′”; 并运行查询: try { sessionFactory = HibernateUtil.getSessionFactory(); session = sessionFactory.getCurrentSession(); transaction = session.beginTransaction(); userEntityList = (List) session.createQuery(query).list(); transaction.commit(); } catch (HibernateException e) { try { throw new DaoException(“Fetal exception […]

在Hibernate标准结果中排除bean的字段

以下是我从数据库中获取用户bean的方法。 session.createCriteria(User.class).list(); 返回数据库中的所有用户记录。 有趣的是,我不想从DB获取密码字段。 只想在检索时排除该字段。 我有的选择 1)在其他领域使用投影。 这需要更多的代码添加到投影列表中。 所以放弃了这个想法。 2)使用Sql我需要编写一个手动查询,它会杀死Hibernate的主题。 有可能排除Bean的列值吗?

HQL左连接:加入的路径

我是Hibernate的新手,我有一个关于HQL左连接的问题。 我尝试离开加入2个表,患者和提供者,并继续获得“期望加入的路径!” 第二个表上的错误。 如果有人可以帮助解决这个问题,请欣赏它! 这是2个表/类的映射: patient.hbm.xmL: provider.hbm.xml: POJO: patient.java package com.ccg.db.test; import java.io.Serializable; import java.util.List; import org.hibernate.Session; public class patient implements Serializable { private int patientId; private String patientName; private String providerId; // foreign key to provider private static final long serialVersionUID = 81073; public static void load(Session session, List values){ patient PatientInfo = new […]