2017-02-22 10 views
0

Deltaspike와 함께 Wildfly 10을 사용 중이며 엔티티를 지속하는 데 문제가 있습니다. 문제는 나중에 새로 고치려고하거나 다른 엔터티를 참조 할 때 발생합니다. 새로 고치려고하면 엔티티가 관리되지 않음을 나타내는 예외가 발생합니다. 엔티티를 참조하는 다른 엔티티를 유지하려고하면 엔티티가 일시적인 상태임을 나타내는 예외가 발생합니다.Wildfly - deltaspike - 트랜잭션이 커밋되지 않았습니까?

나는 JTA를 사용하고 있으며 엔티티는 다른 메소드 호출로 저장 될 때 더 일찍 커밋되어야한다.

컨테이너 관리 트랜잭션 및 빈 관리 트랜잭션을 사용해 보았습니다. 그 점에 관해서는, apache-deltaspike.properties 파일 만이 변경에 영향을 미친 것으로 보입니다. 또한 수동으로 트랜잭션 인터셉터를 활성화했지만 beans.xml에서 명시 적으로 활성화하거나 활성화하지 않아도 활성화되므로 차이가 있다고 생각하지 않습니다. @Transactional 주석은 실제로 트랜잭션을 커밋하는 것 같지 않습니다 (여러 인수를 사용하여 테스트 한 결과 다른 예외가 예상되지만 동일한 트랜잭션으로 이동합니다).

로그 문은 ID가 0 인 것으로 표시합니다. 나는 순서를 조회 할 경우 지금, 나는

실제 예외가 내가해야 할 때입니다 ... 너무 많은 시간을 명중에서 189에 있습니다 참조 : 나는를 얻을 때입니다

entityRepository.refresh(entity); 

엔티티가 관리되어 있지 않은 것을 나타내는 예외입니다. 앞에서 설명한대로 트랜잭션 인터셉터가 로그에 따라 활성화 된 것을 볼 수 있습니다.

아이디어가 있으십니까?

답변

0

새 버전의 hibernate에서 문제가있는 것처럼 보입니다. id/version 필드에 기본 유형을 사용할 수 없습니다.

이제 엔티티를 저장할 수 있습니다.