问题标签 [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 投票
3 回答
6175 浏览

java - @ManyToMany JPA 2 复杂查询

我有以下多对多映射。

我想检索与 Classe2 实体有关系的所有 Class1 实体,其中 class2Id = 1 和 class2Id =2 和 class2Id =3。{1,2,3}

或者过滤 Class2 列表中的 Classe1 实体,Class2 实体的值:class2Id = 1 和 class2Id =2 和 class2Id =3

例如:

如果在连接表上,我有以下值。

对于此示例,结果将是 Class1 与 class1Id: 1 和 6。因为 Class1 实体与 class1Id=1 有关系与 classe2Id:1,2,3,4 和 Class1 实体与 class1Id=2 有关系与 classe2Id:1 ,2,3

是否可以使用 JPA2(谓词)返回正确的实体?

有没有更好的映射来处理这种情况?

目前,我想出了以下 SQL 查询:

0 投票
1 回答
784 浏览

spring-data-jpa - 将spring data jpa与spring batch admin集成时出错

我正在使用带有spring批处理管理的spring data jpa,我配置了application-context.xml和persistance.xml,当我在tomcat中运行它时我得到了这个错误。

0 投票
1 回答
4067 浏览

jpa-2.0 - spring-data-jpa 计数与规格不同

在 spring-date-jpa 中,当我的规范包含 query.distinct(true) 时,我看到 count(Specification) 方法,计数查询不正确。生成的 SQL 如下所示:

选择 distinctcount(*) ...

代替

选择计数(不同(*))...

在那篇文章中:spring-source-forum 解决方法是修改 spring-data-jpa 的源代码。

还有其他解决方案吗?

0 投票
2 回答
18693 浏览

spring - Spring data JPA 规范 - @OneToMany 依赖

我在使用 Spring 数据 JPA 规范从实体 Person 获取列表时遇到问题(因为分页)。我需要按人获取所有笔记,但是这两个实体之间的依赖关系在人方面。我不知道如何创建我的谓词,因为 Note 不包含任何与 Person 相关的属性。

我可以简单地使用 Persons getter 获取 List,但我不能使用这种方式,因为我需要对返回的数据进行分页。

通常情况下,我会写这样的东西,但是我在 Note 中没有属性 person 并且在这个阶段无法重新映射数据库。

谢谢你,Zdend

0 投票
2 回答
18614 浏览

java - JpaRepository、@Transaction 和 repository.saveAndFlush

我正在第一次尝试服务/存储库方法并且遇到了一个问题。基本上我想在我的服务中做的是持久化我的实体,然后在同一个服务方法中使用它的 ID。

最初我打算使用 @GeneratedValue 和 Sequences 但放弃并决定手动刷新实体并获取 ID ,我认为这会更容易。

My Repository 是一个使用 Spring Data 的接口,因此它支持手动刷新。据我了解,它也用@Transactional 注释。我的服务方法也用@Transactional 注释。

我发现该实体仅在返回 Service 方法时才会保留,即使我在保存实体后立即刷新(或使用 saveAndFlush)也是如此。我认为冲洗会迫使数据库更改?

0 投票
2 回答
5352 浏览

spring - 如何为多个实体创建存储库?

我正在尝试创建一个简单的网站,其中包含主题和评论。我从主题开始,并为它们创建了存储库:

我已经在 servlet-context.xml 中定义了我的存储库的路径:

现在,我想在我的存储库中包含评论,但以下代码不起作用:

我的项目甚至没有建立。你能给我一个建议吗,如何为多个实体创建存储库(主题类和评论类是用@Entity声明的)?

我面对的是:

  • TopicRepository类图标上有 HDD pic
  • CommentRepository类图标上有一个问号
  • 错误日志(一个巨大的):

org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0”的bean时出错:bean初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“topicController”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 com.epam.mvc3.service.CommentService com.epam.mvc3.controller.TopicController.commentService;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“commentService”的 bean 时出错:注入自动装配的依赖项失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 com.epam.mvc3.repository.CommentRepository com.epam.mvc3.service.CommentService.commentRepository;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“commentRepository”的 bean 时出错:FactoryBean 在创建对象时抛出异常;嵌套异常是 java.lang.IllegalArgumentException: No property find found for type class com.epam.mvc3.model.Comment org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) org.springframework.beans。

0 投票
2 回答
3107 浏览

java - Spring Data MongoDB Cross-Store 插件和 JPA PrePersist 和 PreUpdate

我们有一个具有以下设置的应用程序:

Java 6.0 Spring Data JPA 1.1.0.RELEASE Spring Data MongoDB 1.0.2.RELEASE Spring Data MongoDB Cross-Store 1.0.2.RELEASE Hibernate JPA 2.0

我们在这个应用程序中有几个使用 JPA PrePersist、PreUpdate、PostPersist 和 PostUpdate 注释的类。下面给出一个例子。

一旦我们为跨存储插件打开 AspectJ weaving,Spring 应用程序上下文就无法加载并出现错误:

我发现错误的根本原因是 Aspect MongoDocumentBacking 将额外的 PrePersist 和 PreUpdate 方法编织到实体类中。由于这些类已经有带有这些注释的方法,Hibernate Entity Manager 无法验证这些类。

是否有关于跨商店插件应如何与具有使用 JPA 注释的现有代码的应用程序一起使用的任何指导?

0 投票
1 回答
1221 浏览

spring - 为什么记录在数据库中发布两次?

你能告诉我,为什么记录会在数据库中发布两次。我认为。发生这种情况是因为我使用了save()方法。但是我不应该分别保存主实体和从属实体吗?

服务:

模型:

0 投票
1 回答
553 浏览

spring-data-jpa - JPA 将“真”替换为 1

我使用 Spring Data JPA 和 hibernate 作为持久性提供程序。PostgreSQL 9.1.5 是我的数据库。

询问:

被自动翻译成

如您所见,“真”被“1”取代。Postgre 不接受此查询并抛出错误:

无需替换的查询工作正常。在 pgadmin 查询界面中,以下查询有效。

我该如何解决这个问题?

0 投票
4 回答
43127 浏览

spring - Spring 数据 CrudRepository 存在

当我扩展CrudRepository接口时,我的子接口中有exists(ID)方法。我可以写findBy<property>方法。

是否有可能以某种方式编写existBy<property>将返回的方法boolean。或对其进行注释,@Query(jpa query)使其返回boolean

我知道我可以做select count(*)并返回long,但是我必须!=0检查我的服务层。