我正在使用带有mysql数据库的Spring Boot。我想知道如何从父实体分页子实体。
以下是使用案例:
父实体与子实体有单向的一对一关系。下面是一个代码示例:
@Entity
public class Parent{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "dateTime", nullable = false)
private LocalDateTime dateTime;
@OneToMany(targetEntity = Child.class, cascade =
CascadeType.ALL,fetch = FetchType.LAZY, orphanRemoval = true)
@JoinColumn(name = "parent_id")
private Set<Child> childs;
......
}
@Entity
public class Child {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
......
}
public interface ParentRepository extends JpaRepository<Parent, Long>{}
public interface ChildRepository extends JpaRepository<Child, Long>{}
我需要得到父dateTime在X和Y之间的所有子实体,但要得到子实体的页面。
任何想法如何做到这一点?
我得到了dateTime在X和Y之间的父页面。从这个父页面,我得到了所有父页面的孩子列表,因此来自父母的页面信息与孩子的不一样。
一个解决方案是让所有的父母和父母得到所有的孩子,并返回所有的孩子,但我需要这是可分页的。
谢谢你所有的时间。
如果您最多想要N个子级,您可以将查询反转。类似于JPQL/HQL中的以下内容:
SELECT c, p FROM Child c, Parent p WHERE p.dateTime BETWEEN :start AND :end AND c MEMBER OF p.childs
但是这个查询不是很有效,因为它会创建一个子查询。因此,如果您可以更改模型,请将反向< code>@ManyToOne关联添加到child,并使用以下查询:
SELECT c FROM Child c JOIN FETCH c.parent p WHERE p.dateTime BETWEEN :start AND :end
SELECT*From子级c,其中c.parent_id(SELECT id From父级,其中dateTime介于'2020-09-12 19:12:12'和'2020-09-12 20:12:12'之间);
Javers v5.6.3 我有一个父实体,其中包含一系列子实体。当我区分两个父母列表,发现一个孩子有变化时,我需要知道哪个父母包含变化的孩子。 我的实体: 我想要区分的是: 为了简洁起见,切换到Groovy: 我是如何区分的: 输出: 我的问题是: 如何发现哪个父级包含子级/c1? 除了我有一个老板集合之外,这类似于应该检测薪酬变化()示例。使用该示例,给定具有不同下属的老板列表,如何找出的老板
本文向大家介绍iframe父页面如何获取子页面的元素?相关面试题,主要包含被问及iframe父页面如何获取子页面的元素?时的应答技巧和注意事项,需要的朋友参考一下 在父页面监听 onmessage,子页面 postMessage。 $('iframe')[0].contentWindow.document.getElementById document.frames['xx'].document.
我想通过在父实体上调用保存来将父实体和子实体一起保存到MySQL数据库中。父实体和子实体之间有一对一的映射。父ID是自动生成的,我们需要在子实体中使用与子实体相同的pk。 我使用的是Spring数据JPA2.0(JPA提供程序是Hibernate)和Spring MVC框架。当尝试插入实体时,我遇到以下错误。 根本原因 这是我的数据库模式: 以下是我的Java实体父实体: 儿童性: 这是我的主要方
我将JPA2与Hibernate一起使用。有两个实体类,和。最后一个是第一个的继承实体。使用SINGLE_TABLE继承策略。当我尝试通过从id=“123456”的CardElement中查询
如何返回与JPA中的父级有关系的实体列表? 我有一个用户实体,在名为的属性上有@OneToMany映射。子实体为Pet类型。这只是一种单向关系。 如何在JPA中编写返回给定用户的所有宠物的连接?
我有vehicleId和vehicleName的值,我想从这两个属性值中获取User对象。 我不想创建一个车辆存储库仅仅是为了找到用户对象,我知道可以通过创建一个车辆存储库来实现,它扩展了springdatajpa中的JPA存储库。