API 변경사항
NamingStrategy 인터페이스로 업데이트
- 인터페이스에 추가된 새로운 메소드를 구현하거나, DefaultNamingStrategy 또는 ImprovedNamingStrategy 클래스를 상속받아라.
이벤트 리스너
- 이벤트 하나에 여러 개의 리스너를 등록할 수 있다. 이벤트 리스너의 API들이 리스너 배열을 받도록 수정되었다.
설정 변경사항
JDBC 커넥션 release mode
- 이전(2.0, 3.0)까지는 기본값이 ON_CLOSE였는데, 기본값이 이제(3.1)는 auto로 바꼈다.
- session.connection()을 호출했을 때는 close()를 호출해야한다. 이 뒤에 배포에서 이 부분은 변경 될 것이다.
이벤트 리스너
- 이벤트에 여러 개의 리스너를 등록할 수 있다.
- hibernate.cfg.xml에서 <listener> 대신에 좀 더 정확한 <event> 엘리먼트를 사용한다.
쿼리 언어 변경사항
Stricter checking of invalid queries
- from Entity e where e.collection.property 이런 쿼리는 작성할 수 없다. 명시적으로 join을 사용해야 한다.
- fetch를 사용할 때, 주가 되는 쪽을 가져오지 않는 쿼리는 의미가 없으므로 예외를 발생시킨다. ex) select b from A join fetch a.bees b
hbm2java
- 별도의 툴이 아니라, tools.hibernate.org에 통합됐다. 이 과정에서 깨지거나 유지보수 하지 않는 기능은 제거했다. Hbm2javaCompability을 참조하라.