草庐IT

QueryDSL-JPA

全部标签

java - JPA 持久化具有一对多关系的实体

配置EcliplseLink2.3.2JPA2.0实体是使用EntityClassesfromDatabase...向导从netbeans的数据库模式自动创建的。Controller类是使用JPAControllerClassesfromEntityClasses...向导从netbeans自动创建的问题的简短版本在经典场景中,两个表具有一对多关系。我先创建父实体,然后创建子实体,然后将子实体附加到父实体的集合中。当我创建(Controller方法)父实体时,我希望子实体被创建并与父实体相关联。为什么没有发生?长版父类@Entity@XmlRootElementpublicclassD

java - 如何使用 Hibernate (EntityManager) 或 JPA 调用 Oracle 函数或过程

我有一个返回sys-refcursor的Oracle函数,当我使用Hibernate调用此函数时,出现以下异常。Hibernate:{?=callmy_function(?)}org.hibernate.exception.GenericJDBCException:couldnotexecutequeryjavax.persistence.PersistenceException:org.hibernate.exception.GenericJDBCException:couldnotexecutequeryatorg.hibernate.ejb.AbstractEntityManag

java - 如何在 JPA 2.0 中创建类似 'instance of' 的查询?

假设我们有一个抽象的@EntityAnimal和几个扩展Animal的实体类,包括Dog、Cat、Monkey和Bat。如何根据扩展实体的类过滤结果?示例:用户可以在其中选择要检索的实体的复选框。[]Dog[X]Cat[X]Monkey[]Bat现在我想使用Animal类中定义的(命名)查询检索实体。我可以在查询中放入什么样的查询参数,以便只返回Cat和Monkey对象? 最佳答案 我不确定它是否受JPA支持,但是在Hibernate中执行此操作的方式与继承策略无关,因此即使您没有鉴别器(或没有将其映射为属性))是使用隐式class

java - 如何使用 JPA 和 Hibernate 加入两个不相关的实体

我有两个表-一个包含地址,另一个包含照片。它们之间唯一的公共(public)字段是PersonID。这些被映射到两个POJO类地址和照片。我能够通过创建条件并在字段上添加限制来获取这些表中的详细信息。我们应该如何在两个表上写一个连接。是否可以将结果作为两个对象-地址和照片。我想做一个左连接,这样我也可以得到没有照片的人的记录。我已经读到这只能使用hql但也可以使用标准来完成吗? 最佳答案 您可以轻松编写HQL查询,使用ThetaJoin(如Adrian所述)将结果作为两个对象返回。这是一个例子:StringqueryText="se

java - 如何在 JPA 中查询 List<String> 类型的属性

假设我们有这个JPA注释类,它有一个List类型的属性。此代码目前运行良好。@EntitypublicclassFamily{...@CollectionOfElements(targetElement=java.lang.String.class)@JoinTable(name="elements_family",joinColumns=@JoinColumn(name="idFamily"))@Column(name="element",nullable=false)privateListelements;...}有什么方法可以查询包含元素“yyy”的家庭列表吗?也就是说,类似于:

java - jpa 独立自定义类型映射/javax.persistence.x 替代 org.hibernate.annotations.Type 和 org.hibernate.annotations.TypeDef

我在数据库中有一个表GameCycle,它包含number类型的列date。此列中的值是8位数字,表示倒数日期,例如“20130301”。映射到此表上的我有一个类GameCycle,它包含类型为java.util.Date的protected字段iDate。该字段使用自定义类型映射注释为“@Type(type="inverseDate")”。类Gamecycle注释为“@TypeDef(name="inverseDate",typeClass=InverseDateType.class)”importorg.hibernate.annotations.Type;importorg.hi

java - SQL JPA - 多列作为主键

如果我要多个Column组成一个IDSQL示例:CONSTRAINT[PK_NAME]PRIMARYKEY([Column1],[Column2],[Column3])我如何使用Jpa实体类来做到这一点?通过列定义?只需将id字段设置为:value=Column1+Column2+Column3//aintworking. 最佳答案 您需要为复合键创建一个类:publicclassCompositeKeyimplementsSerializable{privateintcolumn1;privateintcolumn2;privat

java - 如何在 JPA 命名查询上获取 CURDATE()/NOW()?

我想在mysql上从日期=TODAY的表中选择wheredate>CURDATE(),如何在JPA命名查询上执行此操作? 最佳答案 来自spec:4.6.16.3DatetimeFunctionsfunctions_returning_datetime:=CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMPThedatetimefunctionsreturnthevalueofcurrentdate,time,andtimestamponthedatabaseserver.

java - 在 JPA Criteria API 中使用 ParameterExpression 与变量

使用JPACriteriaAPI时,直接使用ParameterExpression而不是变量的优势是什么?例如。当我希望在String变量中按姓名搜索客户时,我可以编写如下内容privateListfindCustomer(Stringname){CriteriaBuildercb=em.getCriteriaBuilder();CriteriaQuerycriteriaQuery=cb.createQuery(Customer.class);Rootcustomer=criteriaQuery.from(Customer.class);criteriaQuery.select(cus

java - 从树构建 JPA 规范

我创建了一个API,允许用户使用树构建查询。该树是从SearchOperationRequest类构建的。@Data@ApiModel(value="SearchOperationRequest",description="Conditionforthequery")publicclassSearchOperationRequest{@ApiModelProperty(value="Conditionalstatementforthewhereclause",allowableValues="EQUALS,NOT_EQUALS,GREATER_THAN,LESS_THAN,LIKE,S