草庐IT

QueryDSL-JPA

全部标签

java - 使用 JPA Criteria API 进行分页的总行数

我正在为我的系统中的实体实现“高级搜索”类型的功能,以便用户可以在该实体的属性上使用多个条件(eq、ne、gt、lt、like等)搜索该实体。我正在使用JPA的CriteriaAPI来动态生成Criteria查询,然后使用setFirstResult()&setMaxResults()来支持分页。到目前为止一切都很好,但现在我想在结果网格上显示结果总数,但我没有看到一种直接的方法来获取Criteria查询的总数。这就是我的代码的样子:CriteriaBuilderbuilder=em.getCriteriaBuilder();CriteriaQuerycQuery=builder.cr

java - 使用 JPA Criteria API 进行分页的总行数

我正在为我的系统中的实体实现“高级搜索”类型的功能,以便用户可以在该实体的属性上使用多个条件(eq、ne、gt、lt、like等)搜索该实体。我正在使用JPA的CriteriaAPI来动态生成Criteria查询,然后使用setFirstResult()&setMaxResults()来支持分页。到目前为止一切都很好,但现在我想在结果网格上显示结果总数,但我没有看到一种直接的方法来获取Criteria查询的总数。这就是我的代码的样子:CriteriaBuilderbuilder=em.getCriteriaBuilder();CriteriaQuerycQuery=builder.cr

hibernate - 带有 JPA : default constructor hell 的 Kotlin

根据JPA的要求,@Entity类应该有一个默认(非arg)构造函数,以便在从数据库中检索对象时实例化它们。在Kotlin中,在主构造函数中声明属性非常方便,如下例所示:classPerson(valname:String,valage:Int){/*...*/}但是当非参数构造函数被声明为辅助构造函数时,它需要传递主构造函数的值,因此它们需要一些有效值,如下所示:@EntityclassPerson(valname:String,valage:Int){privateconstructor():this("",0)}如果属性有一些比String和Int更复杂的类型并且它们不可为空,那

hibernate - 带有 JPA : default constructor hell 的 Kotlin

根据JPA的要求,@Entity类应该有一个默认(非arg)构造函数,以便在从数据库中检索对象时实例化它们。在Kotlin中,在主构造函数中声明属性非常方便,如下例所示:classPerson(valname:String,valage:Int){/*...*/}但是当非参数构造函数被声明为辅助构造函数时,它需要传递主构造函数的值,因此它们需要一些有效值,如下所示:@EntityclassPerson(valname:String,valage:Int){privateconstructor():this("",0)}如果属性有一些比String和Int更复杂的类型并且它们不可为空,那

java - 有没有办法将分离的对象传递给 JPA 持久化? (分离的实体传递给持久化)

我有2个实体:Account和AccountRole。publicclassAccount{privateAccountRoleaccountRole;@ManyToOne(cascade=CascadeType.PERSIST,fetch=FetchType.EAGER)publicAccountRolegetAccountRole(){returnaccountRole;}.publicclassAccountRole{privateCollectionaccounts=newArrayList();@OneToMany(mappedBy="accountRole",fetch=F

java - 使用 Hibernate JPA 2.1 将应用程序部署到 IBM WebSphere 会出现 NullPointerException

我们正在尝试使用Hibernate将Java7SpringMVC应用程序部署到IBMWebSphere8.5.5.2服务器中。该应用程序在Tomcat服务器上运行良好,但我们无法让它在WebSphere中运行。堆栈跟踪输出如下:[3/26/1513:49:53:552MDT]00000066AutowiredAnnoIorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessorJSR-330'javax.inject.Inject'annotationfoundandsupported

java - JPA 在工作单元克隆中遇到 Null 或零主键

我学习了JPA并且有任务创建数据库并向其中插入一些值。我想知道如何找出最近插入的对象的ID,所以我找到了一种方法,我需要使用EntityManager的flush方法。不幸的是我得到了Nullorzeroprimarykeyencounteredinunitofworkclone使用上述方法时出现异常。我认为问题在于我的数据库将所有ID的设置为自动增量(我使用ORACLE11GExpress),所以在提交之前它有null值并回滚事务。我能做些什么来修复它?这是数据库(ID是自动递增的[Oracle中的序列和触发器]):publicclassClient{publicstaticvoid

java - JPA @Embedded 注释是强制性的吗?

我已尝试省略@Embedded注释,但字段仍已嵌入表中。我找不到任何可以说明@Embedded注释是可选的内容。是还是不是可选的?下面的代码@EmbeddablepublicclassAddress{Stringcity;Stringstreet;}@EntitypublicclassPerson{Stringname;@Embedded//itseemsthatitworksevenifthisannotationismissing!?Addressaddress;}总是生成同一张表personnamecitystreet即使我不指定@Embedded。我的配置:JBossEAP6.

java - 在 JPA 2.0 中捕获约束违规

考虑以下实体类,例如与EclipseLink2.0.2一起使用-其中link属性不是主键,但仍然是唯一的。@EntitypublicclassProfile{@IdprivateLongid;@Column(unique=true)privateStringlink;//Somemoreattributesandgetterandsettermethods}当我为link属性插入具有重复值的记录时,EclipseLink不会抛出EntityExistsException,而是抛出DatabaseException,其中解释违反唯一约束的消息。这似乎不是很有用,因为不会有一种简单的、独立

java - 为什么 Google App Engine 文档强调 JDO 而不是 JPA?

GoogleAppEngine的大部分文档都是为JDO编写的。只有一页文档专门介绍如何使用JPA。这是因为JDO更适合AppEngine还是有其他原因给予JDO优待? 最佳答案 JPA面向将Java对象映射到关系数据库。AppEngine不是关系数据库。JDO对您将对象持久化到的后端更加不可知,因此它更适合。更新:我应该提一下,JPA/JDO争论有时会变得很激烈,就像在之前的question中一样。例如。 关于java-为什么GoogleAppEngine文档强调JDO而不是JPA?,我