Exception in thread "main" org.hibernate.LazyInitializationException: could not initialize proxy

    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:170)
    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:310)
    at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45)
    at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95)
    at net.fsd.entity.Skill$HibernateProxy$fbjchqp4.getName(Unknown Source)
    at main.MainApp.findSkill(MainApp.java:88)
    at main.MainApp.main(MainApp.java:37)

方法1:

@Entity
@Table(name = "SKILL")
@org.hibernate.annotations.Proxy(lazy = false)
public class Skill {

...

}

方法2:

 不用: return sessionFactory.getCurrentSession().load(Skill.class, new Long(id));
  使用: return sessionFactory.getCurrentSession().get(Skill.class, new Long(id));

 

hibernate entity配置文件中去掉lazy load的方法

hibernate mapping Student.hbm.xml

<hibernate-mapping auto-import="true" default-access="property" default-cascade="none" default-lazy="true">

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章