Java 使用联接查询多个关系
请帮我查询!!! 我有两个实体,关系很多Java 使用联接查询多个关系,java,mysql,jdbc,spring-jdbc,jdbctemplate,Java,Mysql,Jdbc,Spring Jdbc,Jdbctemplate,请帮我查询!!! 我有两个实体,关系很多 @Entity public class Department { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private String headName; @ManyToMany(mappedBy = "departmentsList") pri
@Entity
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String headName;
@ManyToMany(mappedBy = "departmentsList")
private List<Lector> lectorsList = new ArrayList<>();
但此查询返回空的“选择器列表”
我需要使用什么查询?您应该使用spring数据jpa(或Hibernate)。现在您只是在查询
部门
表中的内容。JdbcTemplate不关心也不知道@manytomy
,它只执行SQL并将其映射到所提供类型的对象。您应该使用spring数据jpa(或Hibernate)。现在您只是在查询部门
表中的内容。JdbcTemplate不关心也不知道@manytomy
,它只执行SQL并将其映射到所提供类型的对象。
public class Lector {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private Degree degree;
private Integer salary;
@ManyToMany
private List<Department> departmentsList = new ArrayList<>();
public Department findOne(Long id){
try {
Department department = (Department) jdbcTemplate.queryForObject(
"select * from Department d where d.Id = ? ", new Object[] { id },
new BeanPropertyRowMapper(Department.class));
System.out.println(department);
return department;
} catch (EmptyResultDataAccessException notExist) {
return null;
}
}