问题标签 [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 回答
32998 浏览

java - 在 spring-data 项目中使用 @Version

我一直在使用 spring-data 开发 RESTful Web 服务。前几天发布了一个特殊的 spring-data jpa REST framework 。

现在我注意到在这个框架中使用@Version 的能力。这个版本是自己生成的还是需要手动生成?

是否可以单独使用@Version?(这样我就不必对现有的存储库/域等进行任何更改。)

我是否需要做一些额外的配置才能使用@Version?

0 投票
3 回答
5522 浏览

spring - 如何在 Spring-data-jpa 中集成全文搜索?

有没有办法将全文搜索与 spring data jpa 集成?我习惯在我的项目中使用休眠搜索。

Hibernate 搜索Hibernate Search 通过将 Hibernate Core 与 Apache Lucene™ 搜索引擎的功能相结合,将全文搜索引擎的强大功能带入了持久域模型。)可以与传统的 jpa 一起正常工作。

现在我要转到spring data jpa。实现全文搜索的最佳实践是什么?

0 投票
2 回答
3262 浏览

spring - Spring Data JPA 无法调用 JtaTransactionManager

我正在使用 Spring Data JPA (SDJ),在我的集成测试期间,我遇到了一个奇怪的情况——我可能错误配置了一些东西,但我看不到那可能是什么。

PlatformTransactionManager简而言之 -一旦在存储库接口上声明了任何类型的方法(即扩展的方法) ,SDJ 似乎根本无法调用 Spring 的实现JpaRepository<T, ID>。我已经将这种行为深入到一个非常平庸的原因 - 在这种情况下,JtaTransactionManager's setter 根本不会调用,但我无法弄清楚原因。

如果接口缺少任何方法声明 - 一切都按原样工作:JtaTransactionManagersetter 正常调用并启动事务,但我 真的不喜欢编写不需要的自定义存储库只是为了解决可能的错误配置/错误(我已经确认实现自定义存储库确实可以规避提到的行为)。

我会很感激你给我的任何信息,因为我在这里没有想法了。

这是我的相关堆栈:

  • JDK 1.5
  • Spring 3.1.1.RELEASE
  • Spring Data JPA 1.1 GA(已在 1.0.3 版确认问题)
  • Atomikos 3.7.0
  • OpenJPA 2.0.1
  • DB2 9.7

这个基本接口将正常执行:

以下存储库接口将导致以下异常:

引发的异常(在 Spring 应用程序上下文引导期间抛出异常,在“配置时间”):

When you delve into the code that bombs (OpenJPA AbstractBrokerFactory class), it follows that OpenJPA expects the given transaction manager (as defined in OpenJPA properties map below), but Spring doesn't provide it, since setter on JtaTransactionManager class is not invoked at all (I've verified this behaviour while debugging).

Contrary to that, if interface without any methods is invoked, the setter is called normally and provides transaction manager to OpenJPA.


Here's my configuration - one thing that you may notice and could potentially be relevant: I am not using persistence.xml file at all.

Datasource

Transaction manager

Entity manager

OpenJPA properties

JPA repository scanner

Thanks in advance

0 投票
12 回答
276539 浏览

java - Spring Data JPA 有没有办法使用方法名称解析来计算实体?

Spring Data JPA支持使用规范对实体进行计数。但是它有没有办法使用方法名称解析来计算实体?假设我想要一种方法countByName来计算具有特定名称的实体,就像findByName获取具有特定名称的所有实体的方法一样。

0 投票
2 回答
3394 浏览

spring - JPA2:复合键(无法映射)

我正在尝试使用 JPA2 映射以下数据库结构:

PARTYASSET 的主键是 PARTY 和 ASSET 的外键和一个附加列的组合:relationshipType。

由于列关系类型,我不能使用@ManyToMany 注释我必须使用@ManyToOne 和@OneToMany,如以下链接所述: http ://en.wikibooks.org/wiki/Java_Persistence/ManyToMany

我尝试了以下指南,但没有帮助: http ://www.kawoolutions.com/Technology/JPA,_Hibernate,_and_Co./JPA_Composite_Key_Variants#JPA_2.0_@IdClass

请你帮助我好吗?

我尝试了以下方法:(继承用于其他目的)

党课

资产类别

使用@IdClass:

派对资产类

PartyAssetPK 类

上面的代码抛出异常:

在实体 PartyAsset 中找不到 @IdClass 的属性:assetId

@IdClass 的替代品

派对资产类

这会引发异常:

未找到超类型

使用@EmbeddedId

派对资产类

PartyAssetPK 类

这会引发异常;

原因:org.springframework.beans.factory.BeanCreationException:创建 com.ardan1.propertymanagement.test.config.TestApplicationContext 类中定义的名称为“entityManagerFactoryBean”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NullPointerException 引起:java.util.Hashtable.put(Unknown Source) at java.util.Properties.setProperty(Unknown Source) at org.hibernate.cfg.annotations.SimpleValueBinder 的 java.lang.NullPointerException .setType(SimpleValueBinder.java:227) 在 org.hibernate.cfg.annotations.PropertyBinder.makePropertyAndValue(PropertyBinder.java:188) 在 org.hibernate.cfg.annotations.PropertyBinder.makePropertyValueAndBind(PropertyBinder.java:203) 在 org. hibernate.cfg.AnnotationBinder.processElementAnnotations(AnnotationBinder.java:

我有以下库(使用 Maven):

0 投票
2 回答
1359 浏览

spring - 一起加载 Spring Data Rest 和 Spring Data JPA

我在同一个 Web 应用程序中同时尝试 Spring-Data-JPA 和 Spring-Data-Rest,但它们不能正常工作。该应用程序具有所需的所有 Maven 依赖项,并且它们是最新的。

可以同时使用两个 Web 层吗?

可能是什么配置错误?

有人建议正确设置它们吗?

0 投票
1 回答
11194 浏览

mysql - 当同时保留父/子对象时,如何在 Hibernate + Spring JPA 配置中填充外键值?

我有两个对象,Parent 和 Child。Child 有一个外键返回 PARENT 表(MySQL 数据库)中的 PARENT_ID 字段。

当同时创建/组装 Parent 和 Child 对象并调用 persist 时,不会自动填充 Child PARENT_ID 外键。

示例代码:

我有两个持久性样本:

1)使用休眠EntityManager:

2) 使用 Spring Data JPA JpaRepository 实例:

在我的 ParentServiceImpl 中:

填充外键的推荐策略是什么?是否应该先保留 Parent 对象,然后再保留 Child 对象的外键?或者有没有办法通过自动或通过引用设置外键来一次持久化它?

编辑:添加了持久性示例。

编辑 2(已修复!):根据 Ryan Stewart 的第二点解决了问题。我从 Child 对象中删除了 Long parentId 字段,并将 parentId 的 @Column 引用放在 getter 上。还要确保正确设置参考(重要的是子参考回到父)。

0 投票
1 回答
4491 浏览

spring-data-jpa - Spring Data - JPA,自定义存储库不起作用

我想向所有 JPA 存储库添加一个方法,我按照手册创建了以下类:

我还修改了存储库配置:

最后,我使所有存储库接口都扩展了 BillingEntityJPARepository,现在每当我使用任何存储库时,一切正常,除非我调用 BillingEntityJPARepository (findAllWithoutNullableObject) 中定义的方法,它给了我以下异常:

有任何想法吗?

0 投票
10 回答
166694 浏览

spring - 具有参数属性的 Spring 数据 JPA 查询

声明使用输入参数的属性作为查询参数的 Spring 数据 JPA 查询的最简单方法是什么?

例如,假设我有一个实体类:

和另一个类:

...然后我想编写一个Spring数据存储库,如下所示:

...但是 Spring data / JPA 不喜欢我在?1参数上指定属性名称。

什么是最整洁的选择?

0 投票
1 回答
10821 浏览

spring - bean 类 [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean] 的无效属性“packagesToScan”

我试图找到解决方案,但仍然没有运气。

我正在关注“Pro Spring 3”一书(Appress)[第351页]

我已经将该项目生成为 jpa 项目。

据我了解,我可以persistence.xml在 bean 内部使用或管理它,这就是我想要的。

对于最新的我们需要定义packagesToScan属性。

当我尝试询问建议 (ctrl+space) 时,它没有 packagesToScan 属性。在此处输入图像描述

我错过了什么?