我想写一个像
这样的连接Select a.id,a.desc,b.desc from A a left join B b on a.MEDIA_ID = b.ID
我创建了两个实体A&amp; B并创建了CrudRepository<A,Long>
。
现在,在crudRepository中需要编写一个可以使用上面的连接获取数据的方法。
另外,我在实体A中创建了一个瞬态变量(将其命名为'bDescription) 如何在 Spring Data JPA 中实现这一点。
注意:我需要加入才能找到实体B中特定id(B中的主键并在A中映射为'MEDIA_ID')的'description'(B中的一列)。
先谢谢
答案 0 :(得分:4)
以下是使用SpringData
的JOIN查询示例public final static String FIND_WITH_DESC_QUERY = "SELECT a,b.desc as bDescription " +
"FROM A a LEFT JOIN a.descriptions b " +
"WHERE a.mediaID = :id";
@Query(FIND_WITH_DESC_QUERY)
public List<Media> findWithDescription(@Param("id") Long id);
注意:
descriptions
是实体A和B之间关系的映射。@OneToMany Set<B> descriptions()