当前位置: 首页 > 知识库问答 >
问题:

Spring数据JPA。子实体的分页

吉凯捷
2023-03-14

我在Spring boot版本1.3.6中使用Spring Data JPA。

    null
@Entity
public class Parent{
    @Id
    private Integer id;

    @OneToMany
    private List<Child> childs;
}

@Entity
public class Child {
    @Id
    private Integer id;
}

public interface ParentRepository extends JpaRepository<Parent, Integer>{}
public interface ChildRepository extends JpaRepository<Child, Integer>{}
Page<Child> findById(int id, Pageable pageable);

这将返回父实体,而不是子实体。

知道怎么做吗?

共有1个答案

岳玉堂
2023-03-14

下面是一个代码示例,可以在知道父实体的情况下获取子实体。请注意,此查询将返回一个分页结果的Child。

 /**
  * Find Child entities knowing the Parent.
  */
  @Query("select child from Parent p inner join p.childs child where p = :parent")
  public Page<Child> findBy(@Param("parent") Parent parent, Pageable pageable);

你可以这样使用它:

Page<Child> findBy = repo.findBy(parent, new PageRequest(page, size));
 类似资料:
  • 问题内容: 我开始使用Spring Data JPA在Spring Boot应用程序上进行工作,以在用户和角色之间建立ManyToMany关系。 此关系在User类中定义如下: 我使用以下角色创建角色: 之后向用户分配角色失败: 引发以下异常(为便于阅读而设置格式): 但是,如果在创建关系之前保存了用户,则可以正常工作: 我不得不两次保存/更新用户似乎有些不合理。有什么方法可以在不先保存 用户的

  • 我有父实体和子实体之间的和关系。 我有这样的孩子 保存此数据后,数据库看起来如下所示, 我的问题是,为什么child的主键是2而不是1?在子表中,主键可以是1,外键对父表的引用可以是1。当我再添加一个父项时,表如下所示, 是我做错了什么,还是这是我预期的行为?

  • 我有用户表,列id, mname, firstname, lastname, age(5列)使用Spring data jpa我只需要获取id, firstname, age(只有3列) 实用性低于user.java UserRepository.java 在科尔索勒中收到以下错误: org.springframework.core.convert.ConverterNotFoundExcepti

  • 我得到了存储库代码: 当我在该查询上运行测试时,我得到了以下Hibernate警告:

  • 我有一个Java应用程序,它使用Spring数据(带有JPA和Hibernate)通过服务层和存储库层与数据库交互。大多数都很好,但我在测试组合对象的save调用时遇到了一个问题: 涉及三个对象: 从数据库中获取的对象A (Cascade设置为合并并持久化) 现在,当尝试使用对象C的服务来保存它时,我得到了一个分离的实体异常。当将放在测试方法之上时,我无法检查数据库的状态,因为事务仍然处于打开状态

  • 当应用程序基于Spring Boot时,不考虑定义的实体图。相反,在JUnit测试期间,一切正常。 领域非常简单:书籍及其类别(多对多关系) 图书类: 类别类: 带有使用创建的实体图的方法的JPA存储库: REST控制器中的用法: 启动Spring Boot(mvn Spring Boot:run)并导航到http://localhost:8080/books书籍会被显示,但它们有各自的类别(由于