对于创建表查询,query.executeUpdate()在hibernate中返回什么

Vis*_*agi 0 hibernate

String sql="create table temptable (name varchar(2 Byte))";
    Transaction tx=session1.beginTransaction();
    Query query=session1.createSQLQuery(sql);
    int a=query.executeUpdate();

    System.out.println(a);tx.commit();
Run Code Online (Sandbox Code Playgroud)

为什么即使在成功创建表后也使用删除表查询,它仍打印0。而说明它返回更新或删除的实体数,而不返回1?

San*_*nia 5

它返回受影响的行数。在您的情况下,没有行被更新/删除,这就是为什么它返回0的原因。

executeUpdate() 应该用于在实体上执行更新或删除语句,而不用于DDL查询。