getHibernateTemplate()。更新不';t更新

getHibernateTemplate()。更新不';t更新,hibernate,Hibernate,我是新加入Hibernate的,我已经成功地选择并插入了我的数据库,但是更新不起作用 这是我的密码: @Override public void updateService(ServiceDsite serv) { // TODO Auto-generated method stub getHibernateTemplate().setCheckWriteOperations(false); Pays pa=new Pays();

我是新加入Hibernate的,我已经成功地选择并插入了我的数据库,但是更新不起作用

这是我的密码:

@Override
    public void updateService(ServiceDsite serv) {
        // TODO Auto-generated method stub
        getHibernateTemplate().setCheckWriteOperations(false);

        Pays pa=new Pays();
         pa=(Pays)getHibernateTemplate().load(Pays.class,1);

        System.out.println(pa.getNomPays());
        pa.setNomPays("USA");
        getHibernateTemplate().update(pa);}

但是它不工作,没有错误

getHibernateTemplate()是spring框架方法。使用任何直接spring框架模板类/方法都会导致spring框架与应用程序的耦合。spring的关键意图是解耦,它的实现方式是尽可能地将spring本身与应用程序解耦。由于上述原因,不建议使用上述方法,因为它会影响dao类的概率。 使用hibernate会话界面进行尝试。上述情况并不是您实际问题的原因

试试这个

   HibernateTemplate template =  getHibernateTemplate();
    Pays pa =(Pays)template.load(Pays.class,1);
    System.out.println(pa.getNomPays());
    pa.setNomPays("USA");
    template.update(pa);

您正在使用这么多方法来更新类。因此,请粘贴方法getHibernateTemplategetHibernateTemplate()是HibernateDataSupportsRy中的预定义函数,我不知道此函数。打开hibernate日志并在此处共享堆栈跟踪。感谢您的回答,它不起作用,我将其更改为此getHibernateTemplate().bulkUpdate(“更新支付…”);而且很有效,谢谢