2014-07-11 204 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是几乎相同的东西,但上面的代码片段是从我的项目代码。 –