我正在我的项目中使用Hibernate,并使用如下所示的“查询”。
Query query = em.createQuery("delete from User where name=:name");
query.setParameter("name", "Zigi");
int deleted = query.executeUpdate();
我得到结果了。当我使用下面这样的泛型时
Query<?> query = em.createQuery("delete from User where name=:name");
query.setParameter("name", "Zigi");
int deleted = query.executeUpdate();
得到结果是因为“?”是通配符(或),它将接受任何数据类型
当我使用下面的代码时,会出现一些错误(java.lang.IllegalArgumentException:Update/Delete queries Count be typed)。我使用整数数据类型,因为createQuery在执行时返回数字
Query<Integer> query = em.createQuery("delete from User where name=:name", Integer.class);
query.setParameter("name", "Zigi");
int deleted = query.executeUpdate();
有什么建议吗.我必须像上面的代码那样使用具有特定数据类型的泛型。
提前致谢
不幸的是,executeupdate
不允许您使用类型化查询。
相反,您可以使用uniqueResult并强制转换为所需的类型:
Query query = em.createQuery("delete from User where name=:name");
query.setParameter("name", "Zigi");
int deleted = (Integer) query.uniqueResult();
引用此答案
执行获取HQL查询时出现异常。查询大部分时间都有效,但有时会显示此异常 数据库是MySQL,使用的服务器是JBoss 5.1.0 GA 显示的错误是: 组织。冬眠例外GenericJDBCException:无法在组织上执行查询。冬眠例外SQLStateConverter。在组织中处理非特定异常(SQLStateConverter.java:126)。冬眠例外SQLStateConverter。o
嗨,伙计们,我试图检索数据从我的数据库使用HQL编辑器查询。我遵循了示例“在JavaSwing应用程序中使用Hibernate”中的步骤。我的配置文件如下: 映射: 使用这个:或我得到以下错误: org.hibernate.exception.SQLGrammarExcture:无法在org.hibernate.exception.SQLStateConverter.convert(SQLStat
UPD:也许它不在规范中,但是最大的/NVL函数可以通过上面的代码从JPQL正确地传递到SQL。我尝试在中包装/,但仍然不接受文字。
我在Spring批处理StepBuilder类中看到了以下方法定义。这里第一个角括号有什么用?
我得到了一些错误,我试图插入一些数据到mysql db中的一个表中,同时也想从另一个表中删除一些数据。我使用的是jsp、JDBC。我不明白为什么我会得到这个错误,这里是我的jsp页面的代码… else{String sql1; library是我的db名,而issue是我的表名
我使用Spring Boot和Hibernate进行空间查询。使用的库:1.Spring引导-2.1.3。发布2.Hibernate空间-5.3.7。最后3。mysql Ver 15.1版本10.1.36 每当我在下面的查询中使用HQL时,我在应用程序启动期间会遇到以下错误,但是当我尝试使用本机查询时,它会起作用。 我试过用不同的方言。此外,还尝试使用columnDefinition,其值为几何体