问题标签 [spring-data-jpa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11096 浏览

spring - 如何在默认 Spring Data JPA 方法上添加 QueryHints?

我可以将查询缓存与 Spring Data JPA 一起用于我的自定义查询方法,如下所示。

但是,如何在 findAll() 等现有父方法上添加 @QueryHints?

谢谢。

0 投票
1 回答
8176 浏览

java - 在 Spring 3.1.0 中使用 Spring Data JPA

有谁知道如何使用 Spring Data JPA 和 Spring 3.1.0/3.1.1?

Spring Data JPA 1.0.3 依赖于 spring 3.0.5,所以只要我添加一个 spring data jpa 作为依赖项,我就会在使用 3.1.0 时遇到冲突。

我尝试过使用 maven excludes,但没有取得太大的成功。

0 投票
1 回答
1488 浏览

spring - 使用合并持久性单元管理器后未调用休眠事件侦听器

我有一个组件被开发并添加为我们项目的依赖项......我需要使用该组件中指定的实体,为了做到这一点,我必须使用 Spring data-jpa 项目中的 MergingPersistenceUnitManager。该组件定义了一个persistence.xml,其unitName 与使用它的父项目相同。现在,我有两个persistence.xml 文件,它们都是在使用MergingPersistenceUnitManager 创建EntityManagerFactory 期间加载的。

一切正常,并且在容器启动期间加载并检测到实体......但是我在这里面临的问题是,我声明的休眠侦听器根本没有被调用......它们似乎从未被调用,我已经验证它们可以工作如果我删除该组件并且只有一个 persistence.xml 文件。

第二个persistence.xml就是这样

我意识到,在我开始使用 MergingPersistenceUnitManager 之后,我的听众永远不会被调用......这是其中一个的片段。

任何帮助将不胜感激。也许我缺少一些基本的东西。依赖项已正确配置。

0 投票
3 回答
4377 浏览

spring - 使用 Spring Data JPA 的多个数据库

我正在尝试在项目中使用带有 2 个数据库的 Spring Data JPA。但是当我尝试运行应用程序时会触发异常:

这是我的 applicationContext.xml

这是我的 DAO 界面:

我已经阅读了很多关于 @PersistenceContext 的内容,但我从未见过 JpaRepository 的用法。

0 投票
4 回答
19113 浏览

java - Spring Data JPA:创建抽象存储库

给定以下类:

是否有可能以某种方式配置 JPA 存储库Animal

我试过了

然而,这失败了:

java.lang.IllegalArgumentException:不是托管类型:动物

有没有办法配置这个?

我希望能够执行以下任务:

0 投票
0 回答
1164 浏览

java - Spring-data-jpa,Hibernate 错误的 SQL 查询返回 null 而不是 Exception

我有一个 Spring 3.1 项目,使用 spring-data-jpa 进行持久性,Hibernate 作为持久性引擎,Postgresql 9.1 作为数据库系统。
我创建了一个 jpa 带注释的域对象 ( Passport) 和一个相应repository的扩展JpaRepository基本 CRUD 功能的对象。
出于测试目的,我创建了一个简单的 JUnit 测试类(见下文)来测试从数据库加载 Passport 对象。

当我运行测试时,它失败了,因为它null是从 中返回的findOne(1L),尽管数据库中有一个具有该主 ID 的护照对象。我检查了输出日志:

当我测试用于检索护照的 SQL 查询时,我意识到数据库中的表名与类名不匹配(基本上我忘记@Table在类中指定注释Passport)。

问题:为什么当 SQL 查询失败而不是返回时,Hibernate/spring-data-jpa 不抛出异常null

更新:我忘了在我的数据库连接中指定数据库。一旦我解决了这个问题,当 SQL 语句错误时,我也会得到异常。

0 投票
5 回答
45330 浏览

hibernate - 使用@Query和休眠更新spring数据jpa中的布尔值

我已经配置并运行了 spring-data 和 hibernate。我可以使用 spring-data 保存记录,但由于某种原因,我无法运行将更新表中所有布尔字段的查询。

我试过这个:

我也试过这个:

参数划分和部分正在实现,但表上没有变化。

ps 我也在使用mysql数据库。

0 投票
3 回答
23581 浏览

jpa - Spring JPA 数据“或”查询

我正在使用 Spring Data JPA 并尝试向我的存储库添加查询。我试图在没有 @Query 注释的情况下构建查询,例如:

我的目标是建立一个这样的查询:

我的问题是 OR 子句。有没有办法确保有括号?否则,逻辑不对。我在这里找到的例子:http: //static.springsource.org/spring-data/data-jpa/docs/1.0.0.M1/reference/html/#jpa.query-methods.query-creation

没有超过 1 列的 or 子句。

另外,有没有办法传入对象列表。例如,如果我想查找具有 3 个状态的项目,我将不得不创建另一个查询,该查询不能很好地扩展。

谢谢。

编辑:

我想出了如何使用@Query 表示法传递状态列表。你这样做:

然后,您可以将一个列表作为第二个参数传递给该方法。如果不使用 @Query 表示法,仍然不知道如何做到这一点。

0 投票
1 回答
17992 浏览

jpa - JPA左外连接:为空或条件

我正在使用 jpa 查询,我可以找到合适的解决方案。我希望你能帮助我。我将开始描述我的模型。我有一个属于一家公司的资源。公司下设多家分公司。该资源关联了几个资源所有权配置。资源所有权描述了哪些分支可以使用该资源以及此配置有效的时间段。但是,如果没有指定分支机构,则该资源可以被公司的所有分支机构使用。

这是模型。省略了 getter 和 setter

实体

分支模型和公司模型的重要之处在于两者都有一个 ID。

这是我的查询:

我想做的事?我想要属于公司的所有资源(使用 companyId)并且可以由特定分支使用(使用 branchId)。但是,如果资源没有分支列表(在 ResourceOwnerShipConfiguration 中定义),则必须返回。

希望很清楚。

使用该查询我无法检索没有分支列表的资源。只是与特定分支相关联的那些。

提前致谢。

0 投票
3 回答
7476 浏览

java - EclipseLink 错误:实体类没有指定主键。它应该定义@Id、@EmbeddedId 或@IdClass

我试图让 EclipseLink 与 Spring(MVC 和 spring-data)版本 3.1.1 一起工作,但我从一开始就遇到了问题。启动 Tomcat (v7.0) 时出现以下错误。我已经搜索了错误但想出的很少,我不确定下一步该去哪里。在使用带有实体类的接口时会出现这个问题,但是你可以看到我的User.java类没有扩展任何内容。

这是我的 User.java 类:

我有一个 root-context.xml 文件,我在其中声明组件: