0
JPA로 내 데이터베이스에 액세스하려면 일반 구현의 추상 기본 클래스를 사용합니다. 엔티티 메타 모델도 사용합니다.메타 모델 클래스의 필드를 일반적인 방법으로 확인하는 방법은 무엇입니까?
public List<PersonEntity> findByCode(String code) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<PersonEntity> cq = cb.createQuery(PersonEntity.class);
Root<PersonEntity> root = cq.from(PersonEntity.class);
Predicate predicate = cb.equal(root.get(PersonEntity_.code), code);
cq.where(predicate);
TypedQuery<PersonEntity> query = entityManager.createQuery(cq);
List<PersonEntity> list = new ArrayList<>();
return query.getResultList();
}
이 코드의 평화는 많은 시간을 사용하기 때문에 이것을 일반 기본 클래스로 옮기고 싶습니다. "코드"가 있는지 어떻게 확인합니까? 모든 수업에 하나가있는 것은 아닙니다.
public List<E> findByCode(String code) {
CriteriaBuilder cb = entityManager.getCriteriaBuilder();
CriteriaQuery<E> cq = cb.createQuery(entityClass);
Root<E> root = cq.from(entityClass);
//here is my problem: how to check if there is a "code"?
// Most classes have one, but not all.
Predicate predicate = cb.equal(root.get(PersonEntity_.code), code);
cq.where(predicate);
TypedQuery<E> query = entityManager.createQuery(cq);
List<E> list = new ArrayList<>();
return query.getResultList();
}