2013-06-20 2 views
0

Hibernate는 자동 커밋을 자동으로 false로 설정하고 실제로 true로 설정하지 말 것을 권장합니다.단일 커맨드에 대해 Hibernate 자동 커밋 (autocomommit)

단일 데이터베이스 명령에 대해 자동 커밋을 설정해야하는 경우 (자동 커밋을 true로 설정해야하는 postgresql 데이터베이스에 'VACUUM'을 보내고 싶지만) 자동 커밋을 설정해야합니다. 권장대로) 다른 모든 것에 대해 false로 설정합니다.

단일 세션에서 프로그래밍 방식으로 자동 커밋 설정을 변경하는 방법을 찾지 못하는 것 같습니다.

-이 하나의 작업에 대해 별도의 Configuration/SessionFactory가 있어야합니까?

감사합니다.

+0

데이터베이스에 대해 VACUUM은 정확히 무엇을합니까? 이것이 http://www.sqlite.org/lang_vacuum.html이하는 일입니까? – sheidaei

+0

RedShift 데이터베이스입니다. 당신이 게시 한 sqlite 링크와 매우 유사합니다. http://docs.aws.amazon.com/redshift/latest/dg/t_Reclaiming_storage_space202.html – Tinclon

답변

1

autocommit을 false로두고 VACUUM에 setter를 사용하고 setter를 호출하여 sessionManager.save (this)를 호출하는 것이 좋습니다 (해당 지점에 대한 SessionManager 핸들을 얻을 수 있다고 가정). VACUUM에 대한 AccessType은 AccessType.PROPERTY가 아닌 AccessType.FIELD 여야합니다. 그렇지 않으면 불필요한 데이터베이스 쿼리가 발생합니다.

+0

나는 당신이 말하는 것을 잘 따라하지 않습니다. 정교하게 제발 주시겠습니까? – Tinclon

관련 문제