簡體   English   中英

Spring Hibernate 無法訪問服務中 DB 中的實體

[英]Spring Hibernate cannot access Entity that is in DB in service

我有一個 SceneService 用於保存場景並在數據庫中創建另一個實體,這些都通過 JPA 存儲庫保存

@Service("sceneService")
public class SceneService extends BaseService {

  ...
 ProcessingJob processingJob = new ProcessingJob();
 processingJobRepository.save(processingJob);

  sceneRepository.save(scene);
...
}

后來我有一份工作可以選擇 processingJobs

@Slf4j
@Transactional
@Scope("singleton")
@Service
public class ProcessVideoJob extends AmazonService {
    @Scheduled(fixedRate = 50000)
    public void start(){

        for(ProcessingJob job : processingJobRepository.findAllByStatus(ProcessingJob.ProcessJobStatus.NEW.asInt()))
            process(job);

    }

    public void process(ProcessingJob job){
        Scene scene = sceneRepository.getOne(job.getId());
        log.info(scene.toString());
    }

}

那個場景總是null。

javax.persistence.EntityNotFoundException:找不到 co.example.model.Scene 與 id 1

此時場景在數據庫中。 如果我重新啟動服務器等它仍然無法訪問這個場景。 我也嘗試過登錄和注銷等。

為什么這個服務不能訪問場景實體?

問題是 Scene 中的 oneToMany 關系之一已從另一個進程中取消,並且它阻止了 Scene 被返回。 不知道為什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM