草庐IT

criteria

全部标签

java - Hibernate Composite key Criteria Join

我正在尝试通过复合键执行多个连接。我正在使用别名来强制创建连接,但似乎连接不是由Hibernate生成的。我不知道为什么会这样。我可以让它与nativeSQL查询一起使用,但在使用条件时无法使用。我怀疑这可能与复合键定义的映射方式有关(参见BusinessServiceUser上的associationOverrides)下面是我的域模型类和查询信息。欢迎任何想法:)商务服务@Entity@Table(name="business_services")publicclassBusinessServiceextendsAbstractEntityimplementsSerializabl

java - 在 JPA Criteria API 的子查询中使用 ORDER BY 的替代方法是什么?

考虑以下两个表:项目(id,project_name)状态(id、id_project、status_name)其中Status包含Project所处的所有状态。假设我们要查询最新状态名称为“new”的所有项目。我提出的Sql查询是:SELECTq.id_projectFROMstatusqWHEREq.status_namelike'new'ANDq.idIN(SELECTTOP1sq.idfromstatussqWHEREq.id_project=sq.id_projectORDERBYsq.idDESC)我正在尝试使用CriteriaAPI复制上述查询,我​​注意到类Criter

java - Hibernate 条件、整数和 "like"

我正在将一些hql语句迁移到Criterias,现在我发现了一个问题:实体属性是Integer类型,但我需要类似通配符搜索,所以在hql中我这样做session.createQuery("fromP1whereidlike:id").setString("id","%"+s+"%")没问题,Hibernate将String转换为Integer。如果我在Criteria中尝试这个,我只会得到一个ClassCastExceptionStringcannotbecasttoIntegerCriteriacrit=sessionFactory.getCurrentSession().creat

java - 如何向 Spring Data 中的条件添加多个 AND 条件

我正在尝试向SpringData中的条件添加多个“和”条件,但无法弄清楚我做错了什么。请引用以下代码:Criteriacriteria=newCriteria();criteria.andOperator(Criteria.where("siteCode").is(siteCode));if(paymentMode!=null){criteria.andOperator(Criteria.where("paymentMode").is(paymentMode));}if(planCode!=null){criteria.andOperator(Criteria.where("packa

java - 使用 hibernate Criteria 返回一个集合而不是列表

criteria=createCriteria("employee");criteria.add(Restrictions.eq("name","John"));criteria.addOrder(Order.asc("city"));criteria.addOrder(Order.asc("state"));Listresult=criteria.list();此语句返回Employee对象的列表。我怎样才能让它返回一个Set的Employee对象,以便删除重复数据?我知道我可以通过如下所示从返回的列表中创建一个集合来实现这一点,但那样我会丢失列表的排序顺序。而且我不想编写代码来对集

java - JPA 标准 : Convert int to String then select from substring of resulting String

我有一个String作为参数(实际上是一个valueOf(anInteger),并且想将它与数据库中int值的子字符串进行比较。这是我的代码:ClinicPatientsclp=null;//GetthecriteriabuilderinstancefromentitymanagerfinalCriteriaBuildercb=getEntityManager().getCriteriaBuilder();//CreatecriteriaqueryandpassthevalueobjectwhichneedstobepopulatedasresultCriteriaQuerycrite

java - hibernate criteria api连接表问题

我不能对连接表使用排序。让我解释一下;我有三张table。用户、角色和user_roles。我的JPA实体是User、UserRole、UserRolePK、Role。|User||UserRole||UserRolePK||Role||--------||----------|----------------------|id||pk||user||id||name||role||name|事实上我想要的输出是:“SELECT*FROMuser_rolesurJOINusersuONu.ID=ur.UserIDORDERBYu.name;”所以我尝试使用hibernate条件API。

java - Hibernate Criteria Query - 嵌套条件

我不知道如何使用HibernateCriteriasynthax创建这样的查询select*fromxwherex.a='abc'and(x.b='def'orx.b='ghi')你知道怎么做吗?我正在使用HibernateRestriction静态方法,但我不明白如何指定嵌套的“或”条件 最佳答案 您的具体查询可以是:crit.add(Restrictions.eq("a","abc"));crit.add(Restrictions.in("b",newString[]{"def","ghi"});如果您想了解一般的AND和OR,

java - 如何将 "Optimizer hint"插入到 Hibernate 条件 api 查询

我有一个使用条件api动态组合在一起的hibernate查询。如果按原样执行,它会生成非常慢的查询。但我注意到,如果我在查询前加上/*+FIRST_ROWS(10)*/,它们的速度会提高大约1000%。我如何使用标准api执行此操作?我尝试了criteria.setComment(..),但这似乎被忽略了。在hibernate文档中,3.4.1.7。提到了查询提示,但它明确指出:“请注意,这些不是SQL查询提示”查询的结果将被分页,所以在99%的情况下我会显示结果1-10。 最佳答案 我有另一个通用解决方案,应该适用于每个条件查询:

java - 生成 JPA 动态类型化查询的最佳实践?

我正在尝试转换我们使用的“TableController”类(没有ORM)以生成动态SQL(实际上,订单列和方向附加到SQL)。将此“TableController”视为一个类,该类具有以给定顺序返回给定类(在运行时已知)的实体列表的功能(字符串列/属性名称,boolean升序/降序,均在运行时)。现在的挑战是,使用JPA(Hibernate-但客户只需要使用JPA接口(interface)):我如何在没有字符串连接的情况下以类型安全的方式实现这一点?谢谢! 最佳答案 Thechallengeisnow,withJPA(Hibern