我是新的Hibernate 4.3,需要初始化實體的實例。 使用Hibernate 3我使用了Hibernate.initialize(),但在版本4.3中沒有找到該命令,既沒有導入org.hibernate.Hibernate。休眠4.3初始化實體
我使用Eclipse Kepler和Wildfly 8.0。
可以告訴我該怎麼做?
感謝
我是新的Hibernate 4.3,需要初始化實體的實例。 使用Hibernate 3我使用了Hibernate.initialize(),但在版本4.3中沒有找到該命令,既沒有導入org.hibernate.Hibernate。休眠4.3初始化實體
我使用Eclipse Kepler和Wildfly 8.0。
可以告訴我該怎麼做?
感謝
需要考慮的事情:
你有沒有在您的lib
文件夾休眠jar文件(尤其是需要的jar)?
antlr-2.7.7.jar
commons-collections-3.2.1.jar
dom4j-1.6.1.jar
javassist-3.12.1.GA.jar
hibernate-core-4.0.1.Final.jar
hibernate-commons-annotations-4.0.1.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
jboss-logging-3.1.0.CR2.jar
jboss-transaction-api_1.1_spec-1.0.0.Final.jar
此文件是從hibernate
你將下載,這將有內部lib
required
文件夾。
If yes
:
右擊其中包含錯誤的進口,並單擊Fix project
設置和失蹤jar files
會自動包含在內。
問題與類路徑只有你無法正確看到導入,我也會推薦使用下面的代碼片段來初始化代理。
創建一個類HibernateUtils並將其稱爲靜態方法。
public class HibernateUtils {
public static <T> T initializeAndUnproxy (T entity) {
if (entity == null) {
return null;
}
if (entity instanceof HibernateProxy) {
entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation();
}
return entity;
}
}
與下一個解決方案有什麼不同? [hibernate] http://stackoverflow.com/questions/2216547/converting-hibernate-proxy-to-real-object這個使用hibernate.intialize – Jericob
@Jericob是幾乎相同的東西,但上面的代碼片段是從我的項目代碼。 –