2014-07-11 124 views
0

我是新的Hibernate 4.3,需要初始化實體的實例。 使用Hibernate 3我使用了Hibernate.initialize(),但在版本4.3中沒有找到該命令,既沒有導入org.hibernate.Hibernate。休眠4.3初始化實體

我使用Eclipse Kepler和Wildfly 8.0。

可以告訴我該怎麼做?

感謝

enter image description here enter image description here

回答

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你將下載,這將有內部librequired文件夾。

If yes

右擊其中包含錯誤的進口,並單擊Fix project設置和失蹤jar files會自動包含在內。

2

問題與類路徑只有你無法正確看到導入,我也會推薦使用下面的代碼片段來初始化代理。

創建一個類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; 
    } 


} 
+0

與下一個解決方案有什麼不同? [hibernate] http://stackoverflow.com/questions/2216547/converting-hibernate-proxy-to-real-object這個使用hibernate.intialize – Jericob

+0

@Jericob是幾乎相同的東西,但上面的代碼片段是從我的項目代碼。 –