我在Spring boot版本1.3.6中使用Spring Data JPA。
@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);
这将返回父实体,而不是子实体。
知道怎么做吗?
下面是一个代码示例,可以在知道父实体的情况下获取子实体。请注意,此查询将返回一个分页结果的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书籍会被显示,但它们有各自的类别(由于