小编Mih*_*cov的帖子

单向OneToMany的JPQL

我需要一个针对Spring存储库接口方法的jpql查询,以检索给定学期的所有帖子.

@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(cascade = CascadeType.MERGE)
@JoinTable
(
 name = "semester_post",
 joinColumns = {@JoinColumn(name = "semester_id", referencedColumnName = "id")},
 inverseJoinColumns = {@JoinColumn(name = "post_id", referencedColumnName = "id", unique = true)}
)
private List<PostEntity<?>> posts = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)

PostEntity没有对Semester的引用,我也不想添加一个,因为我打算将这个PostEntity用于其他事情而不是学期.也许我会有另一个班级(比如说Group)也会有一个PostTntMany的OneToMany(就像学期一样)

那么,我如何将这个SQL查询编写为JPQL呢?

select * from posts join semester_post on semester_post.post_id = posts.id where semester_post.semester_id = 1;
Run Code Online (Sandbox Code Playgroud)

我的存储库

public interface PostRepository extends JpaRepository<PostEntity, Long> {

String QUERY = "SELECT p FROM PostEntity p ... where semester = :semesterId";

@Query(MY_QUERY)
public List<PostEntity> findBySemesterOrderByModifiedDateDesc(@Param("semesterId") Long semesterId);
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa jpql spring-data

5
推荐指数
1
解决办法
1653
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

jpql ×1

spring-data ×1