2011-01-07 4 views
0

JPA에서 Entity 객체를 유지 한 후 다른 객체 .equals()이 있는지 확인해야합니다.JPA에서 관리 객체를 생성/편집해야합니까?

그러나 첫 번째 개체가 두 번째로 관리되는 해당 POJO 인 POJO이므로 테스트가 실패합니다.

JPA 만들기 또는 편집 작업의 결과로 새로 관리되는 엔터티 개체를 반환하는 것이 좋습니다.

안부, 로렌스

답변

1

개체의 비즈니스 키를 구성하는 필드를 사용하여 hashCode()equals(..) 메서드를 재정의 할 수 있습니다. See this article

+0

그 기사는 매우 도움이되었습니다. 불행하게도 고유하지 않은 이름 필드 만 가진 자체 참조 객체 트리가 있었기 때문에 문제가 발생했습니다. 이 상황에서 나는 개체 이름과 결합 된 부모 개체 ID를 고유하게 식별해야했습니다. 나는 그것을 할 수있는 더 좋은 방법을 찾지 못했습니다. – retrodev

+0

음, 그건 공평 해. 객체가 부모와 이름으로 고유하게 식별되면 - 그렇게하십시오. – Bozho

0

당신은 두 가지 유형이 있어요? POJO, 사실상 DTO와 주석이 달린 POJO가 관리됩니까? equals 메서드를 코딩하거나 비할 데없는 동작을 제공하는 비교 메서드를 만들 수 있습니까?

"평등"의 의미에 대해 흥미로운 질문을 던집니다. 내 insticnt 여기에 hasTheSameValueAs() 메서드를 제공하는 것입니다.

직접 질문에 대답하려면 관리되는 개체를 반환하는 것이 매우 편리해 보입니다.

관련 문제