dataTable和数据库之间的同步

时间:2018-01-02 01:57:26

标签: hibernate jsf

我是JSF + hibernate + Maven的初学者,我正在尝试在Maven下创建一个小应用程序CRUD。

我的问题是,当我尝试通过添加表单添加对象产品(实体)时,它会立即插入到数据库中,但不会直接出现在$\leq$的数据表中。我应该等待一段时间,然后在服务器上运行应用程序,然后在dataTable中插入重新插入的新Product(实体)。我不知道究竟是什么问题?

我使用hibernate 5.2.12.Final和MySql连接器5.1.40和JSF 2.2.8 mojarra

hibernateUtil的源代码:

jsf

for AbstractModel:

    public class HibernateUtil {
    private static SessionFactory sessionFactory;

    static
    {
        try
        {
        Configuration conf = new Configuration().configure();
        sessionFactory = conf.buildSessionFactory();
        }catch(Exception ex){
            System.err.println("Initial sessionFactory creation failed" + 
         ex);

        }

    }
    public static SessionFactory getSessionFactory()
    {
         return sessionFactory;
    }
}

for Managed Bean:

public abstract class AbstractModel<T> {

protected final SessionFactory factory = HibernateUtil.getSessionFactory();
public void add(T p)
{
try{

             if(!factory.getCurrentSession().getTransaction().isActive())

            factory.getCurrentSession().getTransaction().begin();
           factory.getCurrentSession().persist(p);
           factory.getCurrentSession().getTransaction().commit();

          }catch (RuntimeException re) {
           factory.getCurrentSession().getTransaction().rollback();
           throw re;
          }
}

0 个答案:

没有答案