거의 한 경우를 제외하고 완벽하게 작동 3, 봄 부팅합니다.봄 데이터 Neo4j 5 OGM 내가 <code>SDN 4.2</code>에서 <code>SDN 5</code> 및 <code>OGM 3</code></p> <p>모든 마이그레이션하기 위해 노력하고있어 2.0.0.M4
지금 내가이 문제를 재현 GitHub의에서 데모 프로젝트를 만든 그래서이 설명하기 어려운
SDN 4.2에서와 같이 깊이 = 2 대신에 깊이 = 1을 사용해야하는 개체를 저장하기 위해 - https://github.com/Artgit/spring-boot-2.0.0.M4-sdn5-ogm3-saving-issue
단계 재현하기 :
당신이 1 단계를 생략하고 단계 2에서 읽기 시작하십시오 당신의 자신의 Neo4j 인스턴스를 사용하려면
.실행
mvn docker:start -Dfile.encoding=UTF-8
도커 컨테이너에 Neo4j 3.2.5 (부두 노동자가 설치되어 있어야합니다)테스트를 실행 스핀 업하기 위해
com.decisionwanted.domain.DecisionCharacteristicIT.testUpdateValue()
시험은 주장와 함께 실패한다 :
java.lang.AssertionError: expected:<BaseEntity [id=3, class=class com.decisionwanted.domain.model.user.User, createDate=Wed Oct 04 21:54:17 EEST 2017, updateDate=Wed Oct 04 21:54:17 EEST 2017]> but was:<BaseEntity [id=2, class=class com.decisionwanted.domain.model.user.User, createDate=Wed
NG 코드 : 나는 USER3로하고 ID로 Value
을받은 후 rdbmsHorScalingValue
를 업데이트 한
rdbmsHorScalingValue = valueDao.update(rdbmsHorScalingValue, newStringValue2, newStringDescription2, user3,
null);
assertEquals(user3, rdbmsHorScalingValue.getUpdateUser());
rdbmsHorScalingValue = valueDao.getById(rdbmsHorScalingValue.getId());
assertEquals(user3, rdbmsHorScalingValue.getUpdateUser()); // Error here !!!!
(valueDao.getById())
나는 rdbmsHorScalingValue.getUpdateUser()
등이 사용자를 기대하지만 어떤 알 수없는 이유로, 그것은 사실이 아니다.
그러나 다음과 같은 방법으로 변경하면 com.decisionwanted.domain.dao.decision.characteristic.value.history.HistoryValueDaoImpl.create(Value)
1
에서 2
까지 저장 깊이 - 모든 것이 정상적으로 작동하기 시작합니다.
지금 당장은 내가 아는 유일한 문제는 어디 있는지 알지 못합니다. SDN 4.2에서 깊이 = 1로 저장하면 문제가 없습니다.
문제점 (SDN 5에서 작동하지 않는 이유) 및 해결 방법을 알려주십시오. 당신이 방법 (com.decisionwanted.domain.dao.decision.characteristic.value.ValueDaoImpl#update
)
당신은 (트랜잭션에 바인딩) 현재 세션에서 추적되지 않는 관계 (UPDATED_BY)를 변경하는 업데이트와 함께