gpt4 book ai didi

java - 使用 Hibernate 和 PL/SQL 实现进度条

转载 作者:行者123 更新时间:2023-12-01 05:31:03 24 4
gpt4 key购买 nike

我正在开发一个 PL/SQL 存储过程,它将行插入到表中。该过程每次调用可能会写入数万行,这可能需要几分钟才能完成。我还在开发另一个过程,该过程查询 V$SESSION_LONGOPS View 以获取信息,例如已完成多少工作以及大约还需要多少处理时间,以便我可以将这些信息用于进度条。

在这里,我不清楚Oracle是如何做事的。我将从 Java 应用程序中调用两个过程,并且这些过程必须同时运行。要实现该行为,是否必须使用两个与 Oracle 的连接?或者一个连接就足够了?如果使用多个连接,Oracle session 中是否会自动发生多线程?

我正在使用 Hibernate 连接到数据库。我也有一些关于申请的问题。如果我从两个线程向数据库发送两个查询,Hibernate 是否使用其连接池中的两个连接来发送查询?当第一个查询(执行插入)仍在执行时,第二个查询(将由进度条使用)将重复运行。

提前致谢。

最佳答案

Hibernate session 不是线程安全的,因此每个线程必须有自己的 session 。每个 session 都使用一个 JDBC 连接,因此两个 session 都会从池中获取不同的 JDBC 连接。

当然,Oracle 允许使用两个连接并发访问数据库,否则每个应用程序都会出现严重的性能问题。

关于java - 使用 Hibernate 和 PL/SQL 实现进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8976561/

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