gpt4 book ai didi

java - hibernate java选择查询

转载 作者:行者123 更新时间:2023-11-29 08:08:26 25 4
gpt4 key购买 nike

我是新手,今天我尝试使用返回所选行结果的方法玩 hibernate ...如果被选中,则它可以返回 int 中的结果。这是我的方法

 public int validateSub(String slave, String source, String table){
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();


Query q = session.createQuery("from Subscribers where slave = :slave AND source = :source AND tbl = :tbl");
q.setParameter("slave", slave);
q.setParameter("source", source);
q.setParameter("tbl", table);

int result = q.executeUpdate();

return result;

}

通过这种方法,我尝试验证从订阅者表中获得的 3 个值,但最后我尝试编译时出现此错误

     Exception in thread "Thread-0" org.hibernate.hql.QueryExecutionRequestException: Not supported for select queries [from com.datadistributor.main.Subscribers where slave = :slave AND source = :source AND tbl = :tbl]

最佳答案

您可以查看以下链接,了解 executeUpdate 的工作原理,一个来自 hibernate 文档,另一个来自 JPA 的 java 文档,它定义了方法何时抛出异常

http://docs.oracle.com/javaee/6/api/javax/persistence/Query.html#executeUpdate()

https://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Query.html#executeUpdate()

或者你可以使用

 List list = query.list();    
int count = list != null ? list.size() : 0;
return count;

关于java - hibernate java选择查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9567567/

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