Spring数据jpa嵌套对象如何定义复杂查询存储库
假代码Spring数据jpa嵌套对象如何定义复杂查询存储库,spring,spring-data-jpa,Spring,Spring Data Jpa,假代码 public class User{ private long id; private String name; @OneToMany private List<Address>address; // ......set get } 接口应该如何命名?Sql如下所示 从用户u中选择* u.id上的左加入用户\地址ua=ua.user\ id ua.address_id=a.id上的左连接地址a
public class User{
private long id;
private String name;
@OneToMany
private List<Address>address;
// ......set get
}
接口应该如何命名?Sql如下所示
从用户u中选择*
u.id上的左加入用户\地址ua=ua.user\ id
ua.address_id=a.id上的左连接地址a
其中u.name='xxx'和a.name='xxxxx'和a.is\u del=0
interface MyRepository<T, ID> extends Repository<T, ID> {
List<User> ???();
}
接口MyRepository扩展存储库{
列表??();
}
接口用户存储库扩展了JPA存储库{
@查询(“从用户u中选择不同的u,地址a”+
“其中,美国的成员地址和”+
“u.name=:用户名和“+
“a.name=:addressName和”+
“a.isDel=:isDel”)
列出getUsers(@Param(“用户名”)字符串用户名,
@参数(“addressName”)字符串addressName,
@参数(“isDel”)整数isDel);
}
interface MyRepository<T, ID> extends Repository<T, ID> {
List<User> ???();
}
interface UserRepository extends JpaRepository<User, Long> {
@Query("select distinct u from User u, Address a " +
"where a member of u.address and " +
"u.name=:userName and " +
"a.name=:addressName and " +
"a.isDel=:isDel")
List<User> getUsers(@Param("userName") String userName,
@Param("addressName") String addressName,
@Param("isDel") Integer isDel);
}