티스토리 뷰

* SessionFactory(SF) 를 EntityManager(EM) 로 부터 가져온 후 

이 SF 로 부터 가져온 세션으로는 

Session#update() 가 실행은 되지만 실제로 DB 반영은 이루어지지 않음.

별다른 오류메시지는 없음.

 

* Session#flush() 를 해야 DB 에 반영이 되나 싶어 추가시키자 다음 오류 발생 

org.springframework.dao.InvalidDataAccessApiUsageException: no transaction is in progress; nested exception is javax.persistence.TransactionRequiredException: no transaction is in progress

 

* 해결 ] SessionFactory를 가져오는 대신, EM 으로부터 Session 가져오도록 변경하니 문제 해결

em.unwrap(Session.class);

 

SessionFactory을 만들어서 세션 생성하면 EM이 관리하고 있는 트랜잭션이 적용 안되고,

EM 으로부터 직접 세션을 받아야 트랜잭션 적용되는 것으로 추정

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함