我使用spring data jpa和hibernate作为jpa持久性提供者。
我在我的应用程序中使用本机查询。有一些更新查询,我想在执行更新查询时获得更新记录的实际数量。在Spring data jpa中有没有办法做到这一点?
我目前正在遵循以下方法;
@Modifying
@Query(value="update table x set x_provision = ?1 where x_id = ?2", nativeQuery=true)
int updateProvision(Integer provision, Integer id);
@在服务层上添加了事务性。
这里的问题是,当表被更新时,我得到的计数是1。但在某些情况下,行不会被更新。在这种情况下,我得到的计数也是1。但我希望收到更新的实际记录数,有时是0。
如果我做错了什么,有人能告诉我吗?
如果您查看ModifyingExecutor,它用于执行此查询
@Override
protected Object doExecute(AbstractJpaQuery query, Object[] values) {
int result = query.createQuery(values).executeUpdate();
if (em != null) {
em.clear();
}
return result;
}
然后您会看到,它只委托给本机JPA架构体系,以返回更新元素的数量。
所以,这可能与使用的数据库或ORM框架配置有关,除此之外,您编写的查询应该返回正确的结果。
问题内容: 我需要从数据库获取最新记录。我正在使用sqlalchemy。此刻,我正在那样做: 但是查询太繁琐了。我怎样才能更好地获得最近的记录? 问题答案: 看一看。如果你在右列上指定排序,则第一个将是你的最后一个。一个示例可能如下所示:
我有一个包含4列的Athena表,我想查找: null
我使用从获取值。我需要做记录, 我尝试使用以下代码: 但是当在中的
更新记录 V2.0.0 加入寄存器运行模式,可大幅提升热更内数值计算性能 执行性能整体提升,传统非寄存器模式执行效率也得到一定幅度提升 修正热更内finnaly块在一些情况下不正确的bug,连带修复了yield return和async/await的一些异常情况 修正值对类型绑定后的数组进行操作时的异常 修正热更内Enum一些情况下Equals结果错误的bug 修正跨域继承接口时的一些异常情况 修
版本更新记录 2016.09.10 1) 底层组件-新增时间处理集合 2016.09.5 1) 底层组件-优化防刷 2) 底层组件-错误监控 2) 底层组件-优化通过类名绑定相关事件 2016.08.25 1) 底层组件-新增百度统计组件 2016.08.11 1) 底层组件-优化udb定制登录,增加QQ登录 2) 活动组件-新增完成任务组件 2016.08.9 1) 活动组件-新增防刷组件
在对模型及其相关模型执行更新操作后,我需要保存更新的字段数。 假设我有一个用户配置文件编辑表单。在该表单上,我允许用户更新其firtname,lastname,密码。 用户模型有电子邮件和密码字段,其他字段也很少。 UserProfile模型也有名、姓和其他字段。 User模型与具有hasOne关联的UserProfile模型相关联。 有很多,也有很多联系。 如果用户更新了名字和密码,我需要向用户