가자공부하러!

QueryDSL 간단 예제(1) - select, update 본문

공부/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)하도록 개발하는 것이 좋다.

 

 

 

 

Comments