2012-07-11 2 views
8

내가 hibernate 4.0 interceptors에서 몇 가지 코드를 시도 : 그러나최대 절전 모드 4.0.0Final (인터셉터 인터셉터)

Session session = sf.openSession(new AuditInterceptor()); 

을, 나는 hibernate- 모두 확인 코어 4.0 소스 코드와 hibernate 4.0 java-doc, SessionFactory 클래스는 방법이 openSession(Interceptor interceptor)이 아니지만 hibernate 3.6 java-doc이 방법이 있습니다.

누구가 방법을 알고 있습니까? 더 이상 사용되지 않는 이유가 무엇입니까? 문서가 튜토리얼 문서에 계속 표시되는 이유는 무엇입니까? 4.0에서 세션 레벨 인터셉터를 어떻게 사용해야합니까?

답변

22

그것은 지금 빌더 패턴을 사용하여 구현 것 :

Session session = sf.withOptions() 
        .interceptor(new AuditInterceptor()) 
        .openSession(); 
+5

무슨 일을. 왜 문서 메테 리온이 없지? 이 친구는 어디에서 찾았습니까? 당신은 문서 영웅 – pinkdawn

+1

@ pinkdawn입니다 : Hibernate 4.x는 지금 문서가 심각하게 부족합니다. [Hibernate 4.0 Manual] (http://docs.jboss.org/hibernate/core/4.0/manual/en-US/html/index.html)은 Hibernate 3.x 시대의 남은 것이며, 모든 것을 반영하지는 않는다. 변화들. 그것은 완전히 새로운 [Hibernate Developer Guide] (http://docs.jboss.org/hibernate/core/4.0/devguide/en-US/html/)로 대체 될 예정입니다. 해답을 찾으려면 방금 Javadoc 페이지를 건너 뛰고 빌더 패턴을 발견했습니다. – axtavt

+1

설명서가 이상적이지 않다고 동의하지는 않지만 설명서에는 일반적으로 "이 문서는 익숙하지 않은 방식이지만 지금은 수행하는 방식"이라고 쓰여 있지 않습니다. 변경 로그 및 마이그레이션 가이드의 역할을합니다. 변경 로그는 (1) 릴리스 다운로드 번들과 (2) 릴리스 공지에서 참조되는 (3) Hibernate Jira를 통해 영구적으로 사용 가능합니다. 마이그레이션 가이드는 https://community.jboss.org/wiki/Hibernate3MigrationGuides에 나열되어 있습니다. 예 : https://community.jboss.org/wiki/HibernateCoreMigrationGuide40 –