使用Hibernate 4.2.6和3.1.1春季爲什麼AnnotationConfiguration不推薦使用AnnotationConfiguration實例?
我有類似這樣
@Entity
@Table(name = "MY_TABLE")
public class MyTable{ ... }
一個類然後我就在我的hibernate.cfg.xml文件下列
<mapping class="com.mycompany.myapp.persistence.domain.MyTable"/>
當我運行一個JUnit測試時,我得到一個Session並查詢該表,我得到以下錯誤:
Initial SessionFactory creation failed.org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.mycompany.myapp.persistence.domain.MyTable"/>
我不明白爲什麼什麼時候,根據我讀過的內容,AnnotationConfiguration已被棄用,功能已移入配置。
獲取會話,我這樣做是
Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
,但它無法獲取會話,並拋出這個錯誤。
哦......難道我至少需要在xml中指定db驅動程序,url等嗎?我甚至不需要這個 bit嗎? –
roark
好吧,如果我刪除它,那麼AnnotationConfiguration錯誤消失,但它不會得到一個會話。我現在得到一個錯誤,「Configured SessionFactory:null。」以Configuration configuration = new Configuration()開頭的代碼是否有問題? – roark