1

我想知道是否有办法不等待ejb中的JPA查询结果我必须调用一个存储过程whit JPA在Oracle数据库上进行一些复杂的处理,我发现javax.ejb.Asynchronous但我不想为那,只需调用并忘记 soretd 程序

纳克斯

4

1 回答 1

0

JPA 通常基于的 JDBC API 是同步的,因此如果不创建辅助线程来等待 JDBC 返回,则无法实现您想要的。一种替代方法是在 Oracle 中创建一个辅助存储过程,它只安排主存储过程的执行并立即返回。然后,您将从 Java 调用帮助程序存储过程。

有点:

create or replace procedure schedule_myjob is
begin
    -- search documentation for 
    dbms_job.submit('myjob', ....);
    -- NOTE: dbms_job.submit will not have effect until you commit
    -- your transaction. 
end schedule_myjob;

create or replace procedure myjob is
begin
   -- Your main procedure code
   ...
end myjob;
于 2016-01-22T11:17:37.343 回答