在@Transaction中,线程可以正常工作吗?

时间:2016-02-17 08:57:39

标签: java multithreading hibernate

在使用@Transaction声明的方法中,我启动一个调用服务中其他方法的线程,该方法也使用@Transaction声明。

@Transactional
        protected void processJob(final MobileTokenDeliverJob job) {
            if (job.getState() == MobileTokenDeliverJob.STATE_PROCESSING) {
                throw new IllegalStateException("任务正在执行,请在任务出错或停止后再试.");
            }
            Thread workThread = new Thread() {
                @Override
                public void run() {
                    //call others' method
                }
            };
            workThread.start();
        }

然后我得到了异常

 "org.hibernate.NonUniqueObjectException"

0 个答案:

没有答案