Join关联ManyToOne查询
2018-10-28 10:56 更新
表person对应的model类:
@Entity
@Table(name = "person")
public class Person {
@Id
@GeneratedValue
private Long id;
private Integer age;
private String name;
@Column(name = "nick_name")
private String nickName;
private String company;
private Date birthday;
@OneToMany(cascade = ALL)
private Set<Phone> phones = new HashSet<>();
// getter and setter
}
表phone对应的model类:@Entity
@Table(name = "phone")
public class Phone {
@Id
@GeneratedValue
private Long id;
private String number;
private String brand;
@ManyToOne
private Person person;
// getter and setter
}
数据库访问PhoneRepository类:public interface PhoneRepository extends JpaRepository<Phone, Long>, JpaSpecificationExecutor<Phone> {
}
查询姓名为"Jack",用的手机为"HuaWei"的人。public List<Phone> findAll(SearchRequest request) { Specification<Phone> specification = new Specifications<Phone>() .eq(StringUtils.isNotBlank(request.getBrand()), "brand", "HuaWei") .eq(StringUtils.isNotBlank(request.getPersonName()), "person.name", "Jack") .build(); return phoneRepository.findAll(specification); }
以上内容是否对您有帮助:
更多建议: