Hibernate无法访问phpMyAdmin插入的数据

时间:2014-07-07 20:38:09

标签: java mysql hibernate java-ee phpmyadmin

我的问题是关于hibernate,实际上我正在使用hibernate和mysq处理Java EE应用程序。

一切都很好看。但是当我通过phpMyAdmin将数据插入我的数据库时,我仍有一个问题,除非我再次启动服务器(tomcat),否则无法通过hibernate立即访问它们。

2 个答案:

答案 0 :(得分:0)

这是因为您的phpMyAdmin中的事务未提交。

在运行命令之前尝试在phpMyAdmin中运行此查询。

SET @@AUTOCOMMIT = 1;

或在查询结束时运行commit;

可能重复: COMMIT not working in phpmyadmin (MySQL)

答案 1 :(得分:0)


我注意到我忘记为每个hibernate session.get(); 方法添加 transaction.commit(); ,所以不知何故它将数据保存在缓存中

public List<User> getAllUsers(User user) throws Exception {
        SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
        Session session = sessionFactory.openSession();

        Transaction tx = null;
        try {
            tx = session.beginTransaction();
            Criteria c = session.createCriteria(User.class).add(Restrictions.ne("idUser", user.getIdUser()));
            List<User> users = c.list();
            tx.commit();//i forget to add this

            return users;

        } catch (Exception e) {
            if (tx != null) tx.rollback(); throw e;

        } finally {
            session.close();
        }
    }