热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在PlayJPA中保存对象列表-HowtosaveaListofobjectsinPlayJPA

IhaveaLinkedBlockingQueue,andIwouldliketosavealltheelementstothedatabase.IknowIca

I have a LinkedBlockingQueue, and I would like to save all the elements to the database. I know I can save it one by one:

我有一个LinkedBlockingQueue,我想将所有元素保存到数据库中。我知道我可以一个一个地保存它:

ObjectModel om = new ObjectModel();
om.save();

However, that means I have to loop through all the elements and do a new connection for each. Can I insert the entire list at once?

但是,这意味着我必须循环遍历所有元素并为每个元素建立新连接。我可以一次插入整个列表吗?

3 个解决方案

#1


2  

In play 1.x, when the server receives a request, play/jpa will open a transaction to you database. This transaction will automatically be rolled back if anything goes wrong, else it automatically commits when the response is sent to the client.

在play 1.x中,当服务器收到请求时,play / jpa将向您的数据库打开一个事务。如果出现任何问题,此事务将自动回滚,否则在响应发送到客户端时会自动提交。

Therefor, even if you loop through your JPA entities and call save() on them one after another, they will all be executed with the same connection in the same transaction.

因此,即使您遍历JPA实体并一个接一个地调用它们上的save(),它们也将在同一事务中使用相同的连接执行。

I would think it works the same way in Play 2, but honestly, I don't know.

我认为它在Play 2中的工作方式相同,但老实说,我不知道。

#2


1  

The simple answer will not NO. Some one down the line will have to execute insert query for all individual objects.

简单的答案不会是NO。线下的某个人必须对所有单个对象执行插入查询。

You do not have to create new connection for each insert. You should create a connection and fire insert on the same connection in each iteration.

您不必为每个插入创建新连接。您应该在每次迭代中在同一连接上创建连接和触发插入。

#3


0  

Maybe this question gets you further. If you know how to do what you want on the underlying DB, you also could use a native query (which you can create via the EntityManager), I suppose.

也许这个问题会让你更进一步。如果你知道如何在底层数据库上做你想做的事情,你也可以使用本机查询(你可以通过EntityManager创建),我想。


推荐阅读
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
author-avatar
不懂珍惜的林记热_713
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有