gpt4 book ai didi

java - 使用 Spring Data jpa JPQL/HQL 删除查询

转载 作者:行者123 更新时间:2023-12-01 17:34:56 25 4
gpt4 key购买 nike

我对 JPQL/HQL 不太熟悉,所以这个问题可能有点愚蠢,我正在尝试使用字符串 jpa 编写一个删除查询。

我有 GenerateStatement 对象,它有 GenerateStatementId 对象,该对象由 createdDate 组成。

我的查询应该如下所示:

@Query(value = "DELETE FROM EODGeneratedStatement s WHERE s.createdDate < :expiryDate")
int deleteByIdCreatedDateBefore(LocalDate expiryDate);

但我认为它缺少GenerateStatementId对象,并且我不知道如何添加它。它应该像 s.getGenerateStatementId().createdDate 我相信的东西

最佳答案

我假设您有一个名为 GenerateStatement@Entity,其中包含 GenerateStatementId POJO 对象,其中包含变量 createdDate >.

如果您正在寻找 GeneeratedStatementGenerateStatementId 之间的 @OneToOne 映射,则以下查询应该有效。

@Query(value = "DELETE FROM GeneratedStatement s left join 
s.GeneratedStatementId sid WHERE sid.createdDate < :expiryDate")
int deleteByIdCreatedDateBefore(LocalDate expiryDate);

@OneToOne 映射和 FetchTypeLazy

@Query(value = "DELETE FROM GeneratedStatement s left join fetch 
s.GeneratedStatementId sid WHERE sid.createdDate < :expiryDate")

关于java - 使用 Spring Data jpa JPQL/HQL 删除查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61058699/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com