2015-12-03 143 views
0

我想用hibernate将某些数据保存到数据库中,但即使控制台日志不显示任何错误,查询也不会执行。休眠不进行插入

我试图插入一个类(DAO实现)

@Autowired 
    @Qualifier("sfGas") 
    SessionFactory sf; 

    Session session;  

    public void setCliente(Cliente cliente) { 

     try{ 
      Session session = sf.getCurrentSession(); 
      session.beginTransaction(); 

      session.save(cliente); 
      session.getTransaction().commit(); 

      System.out.println("EXITO::INSERCION "); 

     }catch(Exception e){ 
      e.printStackTrace(); 

     } 
    } 

即使我试图与本地SQL:

public void setCliente(JSONObject cliente) { 

     String nombre = cliente.getString("nombre"); 
     String apellidos = cliente.getString("apellidos"); 
     String sexo = cliente.getString("sexo"); 
     String email = cliente.getString("email"); 
     String area = cliente.getString("area"); 
     String puesto = cliente.getString("puesto"); 
     int delegacion = cliente.getInt("delegacion"); 

     try{ 
      Session session = sf.getCurrentSession(); 

      Query query = session.createSQLQuery("INSERT INTO cliente(id_delegacion, nombre, apellidos, email, sexo, area, puesto)" 
        +"VALUES ("+delegacion+","+ nombre+", "+apellidos+","+email+", "+sexo+", "+area+", "+puesto+");"); 


      System.out.println("EXITO::INSERCION "); 

     }catch(Exception e){ 
      e.printStackTrace(); 

     } 

已经检查到数据库中的用户拥有的权限,使插入上桌子。我在这里错过了什么?

+0

尝试'session.persist(cliente);' –

+0

@ redflar3什么都没有,还没有插入 –

回答

0

在更新/数据库中删除的东西,你也应该执行查询:query.executeUpdate()

+0

没有,这给了我这个错误[链接](http://weblogs.asp.net/paterlinimatias/hibernate-error-quot-could-not-execute-native-bulk-manipulation-query-quot) –