Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用hibernate执行更新查询,但不更新表_Java_Mysql_Sql_Hibernate_Sql Update - Fatal编程技术网

Java 使用hibernate执行更新查询,但不更新表

Java 使用hibernate执行更新查询,但不更新表,java,mysql,sql,hibernate,sql-update,Java,Mysql,Sql,Hibernate,Sql Update,我有一个包含5个部分(id、问题、结果)的数据库,我想用updatequery和hibernate更改我的数据库 我试过这个 public void update() { try { Session session = getSession(); Transaction tx = session.beginTransaction(); Query qu

我有一个包含5个部分(id、问题、结果)的数据库,我想用updatequery和hibernate更改我的数据库

我试过这个

public void update()
    {
        try
        {
            Session session = getSession();
            Transaction tx = session.beginTransaction();                

            Query query = getSession().createQuery("update Nodes set question = 'test updating' where id = 1" );

            tx.commit();
            session.close();
我没有错误,在控制台我有

Infos: Hibernate: update node set question='test updating' where id=1
Hibernate执行我的更新时没有错误,但我的数据库中没有,为什么

谢谢你试试这个

public void update()
{
    try
    {
        Session session = getSession();
        Transaction tx = session.beginTransaction();                

        Query query = getSession().createQuery("update Nodes set question = 'test updating' where id = 1" );

        query.executeUpdate(); //add this line
        session.commit();
        session.close();
希望这能帮助你解决问题

试试这个

    public void update()
    {
        try
        {
            Session session = getSession();
            Transaction tx = session.beginTransaction();                

            Query query = session.createQuery("update Nodes set question = 'test updating' where id = 1" );

            query.executeUpdate(); //add this line
            tx.commit();
            session.close();
    }

}

希望这能对您有所帮助。

谢谢您的回答,但我的数据库中没有更新我的更新。谢谢不抱歉,我没有错误,但它在数据库中没有更新。您可以尝试int results=qry.executeUpdate()并打印“results”和chek value它是否真的在更新。如果为1,则表示代码正在更新,但未记录在数据库中。如果它是0,这意味着ur db没有问题,它是您的queryI测试结果,结果等于“1”,那么您的问题可能是提交,请尝试session.commit()而不是tx.commit();