jjzjj

java - 如何在 Hibernate 中执行非多态 HQL 查询?

我使用的是Hibernate3.1.1,特别是,我使用的是HQL查询。根据documentation,Hibernate的查询是多态的:Aquerylike:fromCatascatreturnsinstancesnotonlyofCat,butalsoofsubclasseslikeDomesticCat.如何查询Cat的实例,而不是它的任何子类?我希望能够做到这一点,而不必明确提及每个子类。我知道以下选项,但不满意:在查询后手动过滤实例,或者:在鉴别器列上手动添加WHERE子句。Hibernate允许用户决定查询是否应该是多态的是有意义的,但我找不到这样的选项。提前致谢!

java - hibernate HQL 中的 "where exists"

如何在HQL中编写“不存在”查询?我正在尝试获取一个HQL不存在查询,它返回与此OracleSQL查询相同的结果:select*fromSCHOOLawherenotexists(select1fromSTUDENTbwhereB.SCHOOL_ID=a.idandB.STATUS_IDnotin(0,1,2,3,4))我的映射文件如下:我在School.hbm.xml文件中尝试了以下标记我得到了这个堆栈跟踪org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'sessionF

java - 将列表传递给 HQL 或 SQL 中的 IN 子句?

我得到List通过执行查询。这必须传递给IN子句值的另一个查询。如何在HQL中传递它们?我们可以转换List至Array并且可以通过,这不是问题。最后,我必须通过List中的列表。或Array或StringIN子句的形式。 最佳答案 fromAUTOSawherea.modelin(selectm.modelfromMODELSm)或Queryquery1=session.createQuery("selects.idfromSalaryswheres.salary49980");Queryquery2=session.create

java - hibernate :无法在类上找到适当的构造函数 - HQL

当我尝试执行此HQL以返回对象Ponto时,我收到此错误:ERROR[org.hibernate.hql.PARSER](http-localhost-127.0.0.1-8080-2)Unabletolocateappropriateconstructoronclass[br.com.cdv.model.entity.Ponto][cause=org.hibernate.PropertyNotFoundException:noappropriateconstructorinclass:br.com.cdv.model.entity.Ponto]道@SuppressWarnings("

java - HQL 错误 : Path expected for join

我一直在尝试此查询的变体,但似乎无法实现。我也引用了这篇文章:PathExpectedforJoin!NhibernateError并且似乎无法将相同的逻辑应用于我的查询。我的User对象有一个UserGroup集合。我知道查询需要引用对象中的实体,但从我所看到的情况来看...@NamedQuery(name="User.findByGroupId",query="SELECTuFROMUserGroupug"+"INNERJOINUseruWHEREug.group_id=:groupIdORDERBYu.lastname") 最佳答案

java - 如何使用 Hibernate HQL 结果避免类型安全警告?

例如我有这样的查询:Queryq=sess.createQuery("fromCatcat");Listcats=q.list();如果我尝试做这样的事情,它会显示以下警告Typesafety:TheexpressionoftypeListneedsuncheckedconversiontoconformtoListListcats=q.list();有办法避免吗? 最佳答案 按照建议,在任何地方使用@SuppressWarnings是一种很好的方法,尽管每次调用q.list()时都会需要一些手指输入>.我建议使用其他两种技术:编写

java - HQL 或 Java 持久性查询语言中的 IN 子句

我有以下参数化的JPA或Hibernate查询:SELECTentityFROMEntityentityWHEREnameIN(?)我想将参数作为ArrayList传递,这可能吗?hibernate电流告诉我,那java.lang.ClassCastException:java.util.ArrayListcannotbecasttojava.lang.String这可能吗?回答:集合作为参数仅适用于“:name”等命名参数,不适用于“?”等JDBC样式参数。 最佳答案 您使用的是Hibernate的Query对象还是JPA?对于J

java - HQL 或 Java 持久性查询语言中的 IN 子句

我有以下参数化的JPA或Hibernate查询:SELECTentityFROMEntityentityWHEREnameIN(?)我想将参数作为ArrayList传递,这可能吗?hibernate电流告诉我,那java.lang.ClassCastException:java.util.ArrayListcannotbecasttojava.lang.String这可能吗?回答:集合作为参数仅适用于“:name”等命名参数,不适用于“?”等JDBC样式参数。 最佳答案 您使用的是Hibernate的Query对象还是JPA?对于J

java - 如何在 JPQL 或 HQL 中进行限制查询?

在Hibernate3中,有没有办法在HQL中执行以下MySQL限制的等效操作?select*froma_tableorderbya_table_columndesclimit0,20;如果可能,我不想使用setMaxResults。这在旧版本的Hibernate/HQL中肯定是可能的,但它似乎已经消失了。 最佳答案 Thiswasposted几年前在Hibernate论坛上,当被问及为什么这在H​​ibernate2中有效但在Hibernate3中无效时:LimitwasneverasupportedclauseinHQL.You

java - 如何在 JPQL 或 HQL 中进行限制查询?

在Hibernate3中,有没有办法在HQL中执行以下MySQL限制的等效操作?select*froma_tableorderbya_table_columndesclimit0,20;如果可能,我不想使用setMaxResults。这在旧版本的Hibernate/HQL中肯定是可能的,但它似乎已经消失了。 最佳答案 Thiswasposted几年前在Hibernate论坛上,当被问及为什么这在H​​ibernate2中有效但在Hibernate3中无效时:LimitwasneverasupportedclauseinHQL.You