qq_37650880
田二的试探
2018-05-24 12:38
采纳率: 100%
浏览 1.7k
已采纳

hibernate 中的load方法出现异常 不想关闭懒加载还有什么方法可以解决这个异常

// 1.创建一个SessionFactory对象
SessionFactory sessionFactory = null;
// 2.创建session对象
Session session = null;
@Before
public void init() {
    // 3.把注册信息传入ServiceRegistry接口中 Hibernate5.X做法
    StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
            .configure().build();
    try {
        // 4.获取sessionFactory
        sessionFactory = new MetadataSources(registry).buildMetadata()
                .buildSessionFactory();
    } catch (Exception e) {
        // 出现异常需要销毁StandardServiceRegistry注册表
        StandardServiceRegistryBuilder.destroy(registry);
    }
    // 5.获取session对象
    session = sessionFactory.openSession();
    // 6.开启事务
    session.beginTransaction();
}

@Test
public void testGet() {
    // 加载 使用get
    User u =session.get(User.class,1);
    System.out.println(u.getClass());
}
@Test
public void testLoad() {

    User u =session.load(User.class,2);
   System.out.println(u.getClass());
}
@After
public void close() {
    // 8.提交事务
    session.getTransaction().commit();
    // 9.释放所有资源
    session.close();
    sessionFactory.close();
}

控制台是: java.lang.ClassCastException: com.ltt.user.User_$$_javassist_0 cannot be cast to javassist.util.proxy.Proxy

2018-5-24 20:05:25 org.hibernate.event.internal.DefaultLoadEventListener doOnLoad
INFO: HHH000327: Error performing load command : org.hibernate.HibernateException: HHH000142: Javassist Enhancement failed: com.ltt.user.User 2018-5-24 20:05:25 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql:///test0221]

Junit界面是:org.hibernate.HibernateException: HHH000142: Javassist Enhancement failed: com.ltt.user.User

我就是想问如果不在映射文件中设置class标签中的lazy属性为false怎么才能消除异常

设置为lazy=false之后那load和get方法不是一样了吗?都变成了立即搜索

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • meng20166
    乐古 2018-05-25 05:19
    已采纳

    原因是有两个javassis的jar包,一个是hibernate的,一个是struts2的,删除任意一个即可

    点赞 评论
  • devmiao
    devmiao 2018-05-24 15:46
    点赞 评论

相关推荐