Tag: hql

如何动态地订购与JPA或HQL的多对多关系?

我有这样的映射: @ManyToMany(cascade = CascadeType.PERSIST) @JoinTable( name=”product_product_catalog”, joinColumns={@JoinColumn(name=”product_catalog”, referencedColumnName=”product_catalog”)}, inverseJoinColumns={@JoinColumn(name=”product”, referencedColumnName=”product”)}) public List products = new ArrayList(); 我可以很好地获取目录的产品,但我不能(动态)订购产品。 我怎么能订购它们? 我可能必须使用order-by子句编写多对多的HQL查询? 我虽然将orderBy字段名称字符串传递给查询,还是有更好的解决方案? 表是:products,product_catalog,product_product_catalog(associative table) PS使用播放! 我的实体的框架JPASupport。

Hibernate HQL连接提取不是递归提取

我有以下查询和方法 private static final String FIND = “SELECT DISTINCT domain FROM Domain domain LEFT OUTER JOIN FETCH domain.operators LEFT OUTER JOIN FETCH domain.networkCodes WHERE domain.domainId = :domainId”; @Override public Domain find(Long domainId) { Query query = getCurrentSession().createQuery(FIND); query.setLong(“domainId”, domainId); return (Domain) query.uniqueResult(); } 使用Domain as @Entity @Table public class Domain { @Id @GenericGenerator(name = “generator”, […]

Hibernate分离查询作为条件查询的一部分

java专家可以帮助我编写分离查询作为以下SQL语句的条件查询的一部分。 select A.* FROM AETABLE A where not exists ( select entryid FROM AETABLE B where B.classpk = A.classpk and B.userid = A.userid and B.modifiedDate > A.modifiedDate ) and userid = 10146

[Ljava.lang.Object; 无法施展

我想从数据库中获取值,在我的情况下,我使用List从数据库中获取值,但是我收到了这个错误 Exception in thread “main” java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to id.co.bni.switcherservice.model.SwitcherServiceSource at id.co.bni.switcherservice.controller.SwitcherServiceController.LoadData(SwitcherServiceController.java:48) at id.co.bni.switcherservice.controller.SwitcherServiceController.main(SwitcherServiceController.java:62) 这是我的代码 Query LoadSource = session_source.createQuery(“select CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE,COUNT(*) FROM SwitcherServiceSource” + ” where TIMESTAMP between :awal and :akhir” + ” and PROVIDER_CODE is not null group by CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE order by CLIENT,SERVICE,SERVICE_TYPE,PROVIDER_CODE”); LoadSource.setParameter(“awal”, fromDate); LoadSource.setParameter(“akhir”, toDate); List result_source = (List) LoadSource.list(); for(SwitcherServiceSource […]

如何在没有HQL的情况下在Hibernate中执行普通的SQL查询?

我有一个非常复杂的Join查询来从DB中选择几个项目,并且它不需要任何更新需要回到此表。 这就是为什么,我不想使用HQL(Hibernate查询语言,而是我想要作为一个简单的SQL查询来执行)。 是否可以执行一个普通的SQL – 连接查询,它涉及hibernate中的3个不同的表? 我使用Java – Struts框架。 如果你说它不可能那么我必须坚持使用HQL,我会在这里发布我需要你帮助的查询,写下基于HQL的类(表)创建和基于HQL的查询字符串。 另外,如果你能给我一个带有一对或三个表连接的示例查询以及如何设置SQL的参数。

Hibernate在HQL中遇到“@”字符有困难

使用hibernate和spring社交, 我试图通过电子邮件地址查询数据库。 当我这样做时: public Account findAccountByUsername(String username){ Session session = sessionFactory.getCurrentSession(); String selectQuery = “FROM Account as account WHERE account.username = “+username; Query query = session.createQuery(selectQuery); @SuppressWarnings(“unchecked”) List results = query.list(); if (!results.iterator().hasNext()) return null; return results.iterator().next(); } 我得到这个例外 2013-01-22 14:37:13,090 [DEBUG] [HibernateTransactionManager,doBegin(),569] – 将Hibernate事务公开为JDBC事务[com.mchange.v2.c3p0.impl.NewProxyConnection@3b249bb2] 2013-01-22 14 :37:13,352 [DEBUG] [QueryTranslatorImpl,parse(),272] – parse() – HQL:FROM masterPackage.model.orm.Account […]

Hibernate hql / criteria结果包含集合

我有两个实体: public class Photo { Long id; String url; @ManyToOne @JoinColumn(name =”user_id”) User user; // other fields and getters/setters } 第二个: public class User { Long id; @OneToMany(mappedBy = “user”) private Collection photos; // other fields and getters/setters } 我想要得到这个DTO: public class UserDTO { Long id; List photosUrls; } 但我找不到合适的解决方案。 我写了下一个标准 – 通过登录找到有照片的用户: getCurrentSession().createCriteria(User.class, “user”) […]

具有完全限定类名的HQL

假设我有实体Foo喜欢 – package com.some.company.model; // imports @Entity public class Foo{ @Id private Long id; // getters / setters and other properties omitted } 因此,在通过HQL处理实体时,我更喜欢通过完全限定的类名来引用实体,如 – entityManager.createQuery(String.format(“delete from %s where id = :id”, Foo.class.getName())) .setParameter(“id”, fooId) .executeUpdate(); 我在@Entity注释中注意到一件事 – 默认情况下,name属性具有实体类的非限定名称。 这让我觉得为什么名字不合格? 我应该在HQL非限定名称或完全限定名称中使用哪个?

Hql,如何在具有一对多关系的表之间编写连接查询?

我有2张桌子。 1st一个与2nd个有oneToMany关系。 class级作者 @Entity @Table(name = “Author”) Public class Author{ @Id @Column(name = “AuthorId”) private int autherId; @Column(name = “AuthorName”) private String authorName; @OneToMany @JoinColumn(name=”AuthorId”,referencedColumnName=”AuthorId”) List Books; //getter and setter } 课本 @Entity @Table(name = “Book”) Public class Book{ @Id @Column(name = “BookId”) private int bookId; @Column(name = “BookName”) private String bookName; @Column(name = “AuthorId”) […]

hibernate查询语言还是使用标准?

任何使用criteria / hql / sql告诉我查询的人。 要求是用户输入电子邮件或用户名,查询返回表用户的用户密码。