Java 休眠:HTTP状态500-内部服务器错误

Java 休眠:HTTP状态500-内部服务器错误,java,json,hibernate,restful-url,Java,Json,Hibernate,Restful Url,下面是我的hibernate代码: SessionFactory sessionFactory; Session session = null; LoginEntity user = null; try { sessionFactory = HibernateUtility.getSessionFactory(); session = sessionFactory.openSession();

下面是我的hibernate代码:

SessionFactory sessionFactory;
        Session session = null;
        LoginEntity user = null;

        try {

            sessionFactory = HibernateUtility.getSessionFactory();
            session = sessionFactory.openSession();
            session.beginTransaction();

            user = session.get(LoginEntity.class, user_id);

            System.out.println(user.getUserCountryMapping()); // if I remove this line I get error..

            session.getTransaction().commit();
            return user;

        } catch (Exception e) {
            Logger.getLogger(BulkActionMethods.class.getName()).log(Level.SEVERE, null, e);
        } finally {
            if (session != null) {
                session.close();
            }
        }
当我删除System.out.printlnuer.getUserCountryMapping时,我的代码面临一个奇怪的问题;行我得到HTTP状态500-浏览器上的内部服务器错误,但当我写这行我得到浏览器上的expacted JSON响应。。
请有人帮助我理解这个问题。

如果没有看到错误或实体映射,很难给出确切的答案

然而,这种情况几乎总是由于未初始化的惰性集合造成的。该行:

System.out.println(user.getUserCountryMapping()); 

使Hibernate获取该关系中的数据。如果您没有在Hibernate会话中执行此操作,然后尝试依赖此关系,稍后您将得到一个LazyInitializationException,如果没有处理,它将是HTTP状态500。

如果没有看到错误或实体映射,很难给出确切的答案

然而,这种情况几乎总是由于未初始化的惰性集合造成的。该行:

System.out.println(user.getUserCountryMapping()); 
使Hibernate获取该关系中的数据。如果您没有在Hibernate会话中执行此操作,然后尝试依赖此关系,稍后您将得到一个LazyInitializationException,如果没有处理,它将是HTTP状态500。

替换

System.out.printlnuser.getUserCountryMapping

Hibernate.initializeuser.getUserCountryMapping

阅读有关的详细信息。

替换

System.out.printlnuser.getUserCountryMapping

Hibernate.initializeuser.getUserCountryMapping


了解更多信息。

谢谢Kartik,这对我很有效:谢谢你,卡提克,这对我很有效