在使用Hibernate和Jpa的spring boot应用程序中,我需要在saveAll()之前关闭select,以提高高记录数的性能。
我找到了一个使用JPQL的方法,性能很好(在30s内删除+保存10k条记录),但我希望继续使用hibernate和JPA。
我的期望是,当我运行用Java编写的代码时,我必须删除一个表的所有记录,然后保存另一个表的所有记录。当我以经典的方式(deleteAll()、findAll()和saveAll())执行时,在saveAll()执行时性能很低,因为它在保存之前会选择列表中的所有记录。
我想避免在保存记录之前执行所有选择的代码。在不使用EntityManager或EntityManagerFactory的情况下,这是可能的吗?
代码二本机查询:使用存储库类上的@Query注释删除和插入选择。
这是解决这些问题的最好方法。如果您只需要将记录从一个表复制到另一个表,那么使用jpa并加载数千个对象是没有意义的。使用findAll可能会抛出内存不足的错误。
问题内容: 如何在Node.js中关闭可读流? 这会比以下更好: 但这不会停止阅读过程… 问题答案: 调用。它不在文档中,但是 https://github.com/joyent/node/blob/cfcb1de130867197cbc9c6012b7e84e08e53d032/lib/fs.js#L1597-L1620 显然可以完成这项工作:)它实际上所做的事情与您的相似。 EDIT 2015
问题内容: 背景 我正在客户端使用HTTP流(服务器推送)情况下的响应。尽管服务器可以通过关闭响应来关闭连接,但是客户端也需要这样做。 问题 客户端在一个单独的线程中处理,如下所示: 因此,当我从发起连接的线程进行调用时(重要的信息是它与处理输入的线程不同),该调用将无限期挂起。我什至把它留了一夜,它仍然挂着。即使打电话也无济于事。 有什么建议吗? 问题答案: 在没有可用字节的情况下,如果不更改读
在JUnit 5停止JVM(调用添加了的钩子)之前,如何关闭Spring Boot上下文,通过用注释测试类来创建? 假设这样的bean 一个简单的JUnit 5测试如下: 如何在JVM关闭挂钩之前执行对的调用? 背景添加了一个JVM关闭钩子,并在bean(莴苣)被销毁之前关闭redis服务器。
我正在实现一个Spring Boot WebSocket SockJS应用程序,并对如何处理HTTP会话/WebSocket关系有疑问。 基本上,我希望能够通知用户,他的会话已经无效(因为超时或因为从另一个位置登录)。为此,我想在他自己的套接字中放入一个特定的消息,就在框架关闭它之前。 我转向一个超文本传输协议监听器,但我的问题是,当调用HttpSessionListener.session毁灭(
问题内容: 在Java 7的try-with-resources中,我不知道finally块和自动关闭发生的顺序。什么顺序 问题答案: 资源在捕获或最终阻塞之前被关闭。请参阅本教程。 try-with-resources语句可以具有catch并最终阻塞,就像普通的try语句一样。在try-with- resources语句中,在声明的资源已关闭之后,将运行任何catch或finally块。 要评估
与Netty 3相比,Netty 4中的行为似乎发生了变化。在Netty 4,当超时触发时,Netty不仅引发,通道未关闭。 我有一个用例,我需要在超时时向通道写入消息。这不能再做了,因为当处理抛出的的代码到达时,通道已经关闭。 关于如何在Netty 4中使用此用例,有什么提示/想法吗?基本上是在Netty关闭频道之前,在上写入频道?