gpt4 book ai didi

java - 如何执行 native 查询并获​​取反馈?

转载 作者:行者123 更新时间:2023-12-02 09:05:42 26 4
gpt4 key购买 nike

如何在java中执行 native 查询(创建表),并返回有关操作是否成功的信息。我尝试过的每一种方法总是效果相同。查询正在工作,但我收到有关“该查询有多糟糕”的错误,但正如我所说,它有效。

try{
session.createNativeQuery("create table test (id number)").getResultList()
}
catch(Exception e){
// I am getting error "Could not extract result set metadata"
// Is there any way to execute getResultList() only if operation was select?
}

总结一下,我需要执行CRUD。
1.如果执行“select”我需要resultList。
2.如果“创建”我不想执行getResultSet()
3.如果执行“插入”,我需要有关受影响的行数的信息。
等等…………
最重要的是,我总是需要有关最终错误的信息!如果查询缺少语法或某些内容,我总是需要获取该信息。

大家有人可以帮助我吗?我已经为此奋斗了好几天......

最佳答案

使用 native 查询的简单示例。您可以根据受影响的行值确定查询结果。

        EntityTransaction entityTransaction;
EntityManager entityManager;

try
{
entityTransaction = entityManager.getTransaction();

entityTransaction.begin();

// rowsUpdated - The number of "affected rows".
int rowsUpdated = entityManager.createNativeQuery("create table test (id nubmer)").executeUpdate();

entityTransaction.commit();
}
catch (HibernateException | IllegalStateException e)
{
// handle exceptions

if (entityTransaction != null && entityTransaction.isActive())
{
entityTransaction.rollback();
}
}

关于java - 如何执行 native 查询并获​​取反馈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59831648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com