Tag: jpa

如何通过Sort和Pageable使用Spring数据JPA来查询数据?

我正在尝试在我的项目中使用Spring数据JPA 。 我想知道是否有一个开箱即用的API来查询数据, Sort和页面。 当然,我知道我可以自己写这个方法,我只是想知道是否有一个开箱即用的方法。 我的DAO扩展JpaRepository ,我发现有以下方法可以调用: findAll(); findAll(Pageable pageable); findAll(Sort sort); 但是findAll(Sort sort, Pageable pageable)没有这个方法,所以我很好奇。

JPA合并与持续

到目前为止,我的首选是始终使用EntityManager的merge()处理插入和更新。 但是我也注意到merge在更新/插入之前执行了额外的select查询,以确保logging在数据库中不存在。 现在我正在处理一个需要大量(批量)插入数据库的项目。 从性能的angular度来看,在绝对知道我总是创build一个要被保持的对象的新实例的场景中,使用persist而不是merge会有意义吗?

DAO和服务层(JPA / Hibernate + Spring)

我正在devise一个基于JPA / Hibernate,Spring和Wicket的新应用程序。 DAO和服务层之间的区别对我来说还不是很清楚。 根据维基百科,DAO是 一个为某种types的数据库或持久性机制提供抽象接口的对象,提供一些特定的操作而不暴露数据库的细节。 我想知道一个DAO是否可以包含对数据访问没有多大作用的方法,但使用查询更容易执行? 例如“获取在某一机场运营的所有航空公司的名单”? 这听起来更像是一个服务层方法,但我不确定在服务层中使用JPA EntityManager是否是一个良好实践的例子?

我必须closures()每个EntityManager?

我刚刚开始将我自己创build的持久性框架迁移到JPA。 鉴于持久性框架隐藏了很多pipe道,我有兴趣知道不closuresEntityManagers是否会创build资源泄漏,或者如果框架将为我收集和closures它们。 我打算在所有地方closures他们,但我必须? 目前使用TopLink,只是因为它可以轻松地与NetBeans一起工作,但很高兴能够调查其他JPA提供商。

JPA实体经理应该closures吗?

我有下面的方法。 public Profile readUser(String email){ EntityManager em = EMF.get().createEntityManager(); return em.find(Profile.class, email); } 实体经理的上述用法可以吗? 或者有必要closures它?任何build议请。

Spring Data JPA有没有办法使用方法名称parsing来计数实体?

Spring Data JPA支持使用规范来计数实体。 但它有什么办法来计数实体使用方法名称parsing? 比方说,我想要一个方法countByName来计算具有特定名称的实体,就像方法findByName来获取具有特定名称的所有实体。

为什么Eclipse Juno 4.2运行“JPA Java Change Event Handler”进程?

我刚升级到Eclipse Juno 4.2。 我有一个完全干净的新工作空间,但已经导入了以前在Eclipse 3.7中使用的项目,因此它们中包含一些Eclipse元数据。 当移动到4.2时,我将项目转换为使用“项目构面”。 唯一启用的Facet是“Java”。 但是,我经常在我的进度视图中显示“JPA Java Change Event Handler(Waiting)”。 我在项目中有JPA批注的类,但是我没有启用JPA方面。 那么…为什么我得到这些由Eclipse运行的任务? 更新:已经向Eclipse提交了错误,正在看它的外观: https : //bugs.eclipse.org/bugs/show_bug.cgi?id = 386171

如何在Maven中configurationJPA进行testing

有没有办法在Maven项目中设置第二个persistence.xml文件,以便用于testing,而不是用于部署的正常testing? 我试着把一个persistence.xml放到src / test / resources / META-INF中,它被复制到target / test-classes / META-INF,但似乎是target / classes / META-INF(从src / main / resources)得到首选,尽pipemvn -X test按照正确的顺序列出了类path条目: [DEBUG] Test Classpath : [DEBUG] /home/uqpbecke/dev/NetBeansProjects/UserManager/target/test-classes [DEBUG] /home/uqpbecke/dev/NetBeansProjects/UserManager/target/classes [DEBUG] /home/uqpbecke/.m2/repository/junit/junit/4.5/junit-4.5.jar … 我希望能够运行简单的hsqldbconfiguration的testing,而不必更改JPAconfiguration的部署版本,理想情况下直接在项目签出后不需要本地调整。

注入EntityManager VS. EntityManagerFactory的

一个很长的问题,请忍受我。 我们正在使用Spring + JPA的Web应用程序。 我的团队正在通过注入EntityManagerFactory注入到GenericDAO (基于generics的DAO,由APPFUSE提供的东西,我们不使用JpaDaosupport ),注入EntityManager 。 我们正在使用“应用程序pipe理持久性”。 反对注入EntityManagerFactory的参数是太重了,所以不需要, EntityManager做我们需要的东西。 另外,由于Spring会为每个Web请求创build一个DAO的新实例(我怀疑这个),所以不会有任何并发​​问题,因为两个线程共享相同的EntityManager实例。 注入EFM的理由是,它是一个很好的实践,总是有一个良好的工厂处理。 我不确定哪个是最好的方法,有人可以请赐教吗?

创build没有persistence.xmlconfiguration文件的JPA EntityManager

有没有一种方法来初始化EntityManager没有定义持久性单元? 你可以给所有必要的属性来创build一个实体经理? 我需要在运行时从用户指定的值创buildEntityManager 。 更新persistence.xml并重新编译不是一个选项。 任何想法如何做到这一点是比欢迎!