1
CRUD 작업을 수행하는 방법을 배우려고하지만 내 DB에서 기존 행을 업데이트하는 방법을 파악할 수 없습니다. 생성 및 삭제 작업 부분을 얻었지만 실제로 업데이트 부분을 해결하는 방법을 모르겠습니다. 나는 그것에 대해 많은 것을 봤지만 나는 완전히 이해할 수있는 설명을 찾을 수 없다.DB에서 행을 업데이트하십시오.
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
@Stateless
public class Modell {
@PersistenceContext(unitName = "mess")
private EntityManager em;
private EntityTransaction tx;
public void addMessage(String message) {
EntityDB me = new EntityDB();
me.setMessage(message);
em.persist(me);
}
public void delete(EntityDB entityDB) {
em.remove(em.merge(entityDB));
}
public void edited(EntityDB entityDB) {
EntityDB me = new EntityDB();
//tx.begin();
em.persist(me);
// EntityDB me = new EntityDB();
me.setMessage("edited");
em.merge(entityDB);
//tx.commit();
}
public List<EntityDB> findAll() {
Query namedQuery = em.createNamedQuery("findAllMessageEntities");
return namedQuery.getResultList();
}
}
누군가 나를 올바른 방향으로 가리킬 수 있습니까? 현재 편집 메소드는 다른 행만 추가합니다.
정말 고마워요! 내가 그 사람을 보지 못했던 것 같아요. – user2261654
@ user2261654 당신은 천만에요. –
덧붙여 말하자면, 'merge()'호출이 필요 없다; 'find()'호출은 발견 된 엔티티를 이미 영속 컨텍스트에 위치시킵니다. –