공부/Java
QueryDSL 간단 예제(1) - select, update
오피스엑소더스
2019. 12. 18. 11:45
1. select
/** 이름으로 하나의 멤버를 찾아오는 메소드 */
public Member getOneMemberByName(String name) {
JPAQuery query = new JPAQuery(entityManager);
QMember member = QMember.member;
query.from(member).where(member.name.eq(name));
query.orderBy(member.id.desc());
query.limit(1);
return query.singleResult(member);
}
2. update
public void updateMemberName(Member mem) {
QMember qMem = QMember.member;
JPAUpdateClause update = new JPAUpdateClause(entityManager, qMem);
update
.set(qMem.name, mem.getName)
.where(qMem.id.eq(mem.getId()))
.excute();
}
* 주의
JPAUpdateClause, JPADeleteClause는 영속성 컨텍스트를 무시한다.
되도록 영속성 컨텍스트가 처리(update, delete)하도록 개발하는 것이 좋다.