【发布时间】:2019-11-19 03:16:33
【问题描述】:
我定义了我的模型类,如下所示。
@Entity
@Table(name = "my_employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String name;
@OneToMany(cascade = CascadeType.ALL)
@JoinTable(name = "emp_address_mapping", joinColumns = @JoinColumn(name = "emp_id"), inverseJoinColumns = @JoinColumn(name = "address_id"))
private List<Address> addresses = new ArrayList<Address>();
.......
.......
}
@Entity
@Table(name = "my_address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String country;
.....
.....
}
public class EmployeeDetails {
private int empId;
private String name;
private String country;
......
......
}
如何使用@Query 注解编写查询来填充所有 EmployeeDetails。
public interface EmployeeRepository extends CrudRepository<Employee, Integer> {
@Query("SELECT new com.sample.app.model.EmployeeDetails......")
List<EmployeeDetails> getEmployeeDetails();
}
【问题讨论】:
-
到底是什么问题?你写的查询的开头对我来说看起来不错。并且有无数种方法可以使一对一的关系变得平坦。
-
您能否提供任何关于通过@Query 注释将 1:M、多对多关系展平到新模型的链接。
标签: spring-data-jpa spring-data