명명 된 쿼리를 사용하여 특정 값이 들어있는 목록을 기반으로 모든 엔티티를 찾을 수 있습니다.특정 값을 포함하는 목록 (인스턴스 변수)을 기반으로 모든 엔티티를 찾는 명명 된 쿼리
public class Phone implements Serializable {
private static final long serialVersionUID = -34672347534985L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@NotNull
@Column(name = "number")
private String number;
@Column(name = "type")
@Enumerated(EnumType.STRING)
private EPhoneType phoneType;
@Column(name = "creationDate")
@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;
@ManyToOne
private User user;
/* Getters and Setters */
}
지금 내가 전화를 가지고 모든 사용자를 찾을 필요가 :
나는 깨끗한이 게시물을 유지하기 위해 전화 엔티티를 단순화하기 위하여려고하고있다
public class User implements Serializable {
private static final long serialVersionUID = -82485348776234092345L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@NotNull
@Size(min = 5, max = 50)
@Column(name = "email")
private String email;
@NotNull
@Size(min = 5, max = 50)
@Column(name = "password")
private String password;
@Column(name = "creationDate")
@Temporal(TemporalType.TIMESTAMP)
private Date creationDate;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "user", cascade = CascadeType.ALL)
private List<Phone> phoneNumbers;
/* Getters and Setters */
}
사용자라는 실체가 전화 번호 : 289647 .... and Phone.type = '모바일'
전화 유형은 enum입니다.
명명 된 쿼리를 사용하여이를 달성하는 방법을 잘 모르겠습니다. 정규 네이티브 쿼리를 사용하면 테이블에서 JOIN을 사용하여이 작업을 수행 할 수 있습니다. 누구나 NamedQuery를 사용하여 이와 같은 작업을 수행 했습니까?
많은 것들을 지워줍니다. 고마워. 필자는 명명 된 쿼리에서 조인을 사용하지 않고 단순히 개체 특성을 넣어서 원하는 결과를 얻는 방법이 있다는 인상하에있었습니다. 고마워. 도움을 감사하십시오. –