Spring Boot & JPA 실무 과정 자료]AbstractDao 작성

 

 

 

 

 

Spring Boot & JPA 실무 과정 자료] AbstractDao 작성

실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.

AbstractDao 작성

 

■ EntityManager 작성

 

■ @PersistenceContext 로 의존성 주입

 

public class AbstractDao<PK extends Serializable, T> {
private final Class<T> persitentClass;

@SuppressWarnings("unchecked")
public AbstractDao() {
//제네릭스로 부모클래스가 운용하는 파라메터의 클래스 취득
this.persitentClass = (Class<T>)((ParameterizedType)this.getClass().
getGenericSuperclass()).getActualTypeArguments()[1];
}

@PersistenceContext
EntityManager entityManger;

protected EntityManager getEntityManager() {
return this.entityManger;
}

protected T getByKey(PK key) {
return (T)entityManger.find(persitentClass, key);
}
protected void persist(T entity) {
entityManger.persist(entity);
}

protected void upd(T entity) {
entityManger.merge(entity);
}

protected void del(T entity) {
entityManger.remove(entity);
}
}

+ Recent posts