发布
社区首页 >问答首页 >Hibernate不能访问phpMyAdmin插入的数据

Hibernate不能访问phpMyAdmin插入的数据
EN

Stack Overflow用户
提问于 2014-07-07 20:38:09
回答 2查看 526关注 0票数 0

我的问题是关于hibernate的,实际上我正在使用hibernate和mysq开发一个Java应用程序。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-08 12:41:08

我注意到,我忘了为每个hibernate transaction.commit();方法添加session.get();,因此它将数据保存在缓存中。

代码语言:javascript
代码运行次数:0
复制
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();
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2014-07-07 20:52:22

这是因为您在phpMyAdmin中的事务没有提交。

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

代码语言:javascript
代码运行次数:0
复制
SET @@AUTOCOMMIT = 1;

或者在查询结束时运行commit;

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24619436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档