Tag: hql

如何使用“构造函数”在“选择子句”中为多个表的选定列编写HQL JOIN查询

我正在使用Constructor() 在Select子句中为多个表的选定列编写HQL JOIN查询 我有以下实体 : 实体1:NotificationObject.java @Entity @Table(name=”notification_object”) public class NotificationObject implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue( strategy=GenerationType.IDENTITY ) @Column( columnDefinition=”INT(10) UNSIGNED” ) private Integer id; @Column( name=”entity_type_id”, columnDefinition=”TINYINT UNSIGNED”, nullable=false ) private Short entityTypeId; @Column( name=”entity_id”, columnDefinition=”INT(10) UNSIGNED”, nullable=false ) private Integer entityId; @DateTimeFormat( pattern=”yyyy-MM-dd” ) @Temporal( TemporalType.TIMESTAMP […]

如何在Hibernate中设置内部查询的限制?

我有这样的HQL: from Table1 t1 where t1.name not in (select t2.name from Table2 t2 order by t2.date limit 10) 问题是它不了解limit关键字。 有没有办法运行这样的查询而不将其分成两个子查询?

如何在hibernate中使用union执行查询?

Hibernate不支持union,所以我想单独运行sql。 但最后如何结合这些价值观呢? String query =”select dp.PRODUCTFAMILY,dp.PRODUCTFAMILYDESCR from TABEL1 dd, TABEL2 DP where dd.id = 00002 and dd.PRODUCTFAMILY is null union select dp.DIVNUMBER,dp.DIVDESCR from TABEL1 dd, TABEL2 DP where dd.id = 00002 and dd.PRODUCT is not null and dd.PRODUCTFAMILY is not null”; public List findmethod() { return findAllByQuery(query); } 请告知如何单独执行两个sql,最后如何组合这些值?

Hibernate中带有命名查询的可选参数?

在使用Hibernate时,有没有办法在命名查询中指定可选参数(例如,何时从表单提供搜索参数而不是所有参数都需要)? 我正在使用本机SQL查询,但问题可能也适用于命名的HQL查询。 我很确定答案是’不’,但我还没有在文档中找到明确的答案。

Hibernate:如何使用CONCAT和GROUP_CONCAT

如何在HQL查询中使用CONCAT()和GROUP_CONCAT() ?

如何在Hibernate HQL中使用Oracle的regexp_like?

我正在使用oracle 10g和hibernate 3.3.2 。 我以前在sql中使用过正则表达式,现在我第一次在HQL中使用它。 Query query = getSession().createQuery(“From Company company where company.id!=:companyId and regexp_like(upper(rtrim(ltrim(company.num))), ‘^0*514619915$’ )”); 这是我的hql,当我运行它没有regex_like函数时,它按预期运行。 但我无法使用regex_like表达式执行它。 它说.. 嵌套exception是org.hibernate.hql.ast.QuerySyntaxException:意外的AST节点:(靠近第1行,第66列…… 请帮助,如何在hibernate本机查询中使用regex_like ? 或其他一些替代方法。

使用Hibernate查询:冒号被视为参数/转义冒号

return sessionFactory.getCurrentSession(). createQuery(“FROM Weather WHERE city_id = :id AND date ” + “BETWEEN now()::date AND now()::date + (:days – 1)”). setInteger(“id”, city_id).setString(“days”, days).list(); 得到错误: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: : 如何在HQL中使用此语法? 基本上问题是我想在我的查询中使用冒号(:),但是当hibernate看到冒号时,它认为它是一个参数(:parameterName是HQL中参数的语法),正如你从我的2次使用中看到的那样( :id and :days )。 但是当我使用now():: date语句时,它是特定的postgreSQL语法,hibernate破坏了一切。

如何在Hibernate中返回特定类型的列表而不是List ?

我有课程树: classA { classB b; classC c; ….. } 我有这样的HQL查询: SELECT a.field1, b.field2, c.field3, c.field4 FROM a LEFT OUTER JOIN b ON a.id = b.fk LEFT OUTER JOIN c ON b.id = c.fk 此查询返回List 。 是否可以将返回的数据强制转换为以下类: classD { Type1 fiedl1; Type2 field2; Type3 field3; } 那么可以通过Hibernate进行转换,还是我需要手动完成所有的转换?

表每子类inheritance关系:如何在不加载任何子类的情况下查询Parent类??? (hibernate)

假设每个子类的表inheritance关系可以在下面描述(来自wikibooks.org – 见这里 ) 注意父类不是抽象的 @Entity @Inheritance(strategy=InheritanceType.JOINED) public class Project { @Id private long id; // Other properties } @Entity @Table(name=”LARGEPROJECT”) public class LargeProject extends Project { private BigDecimal budget; } @Entity @Table(name=”SMALLPROJECT”) public class SmallProject extends Project { } 我有一个场景 , 我只需要检索Parent类 。 由于性能问题,我该怎么做才能运行HQL查询以便检索Parent类而只是父类而不加载任何子类?

HQL Hibernate INNER JOIN

如何在Hibernate中编写这个SQL查询? 我想使用Hibernate创建查询,而不是创建数据库。 SELECT * FROM Employee e INNER JOIN Team t ON e.Id_team=t.Id_team 我在SQLServer2008中创建了实体类, @Entity @Table(name=”EMPLOYEE”) public class Employee { @Id @GeneratedValue @Column(name=”ID_EMPLOYEE”) private int id_employee; @Column(name=”SURNAME”) private String surname; @Column(name=”FIRSTNAME”) private String firstname; @Column(name=”ID_PROFESSION”) private int id_profession; @Column(name=”ID_BOSS”) private int id_boss; @Column(name=”HIRED_DATE”) private Date hired; @Column(name=”SALARY”) private double salary; @Column(name=”SALARY_ADD”) private double salary_add; @Column(name=”ID_TEAM”) […]