0

EclipseLink user guide은 복합 기본 키에 대해 IdClass (포함되지 않음)를 구성 할 때 공개 인수가없는 생성자가 있어야하고 equalshashCode 메서드를 구현해야한다고 명시합니다. 또한이 예제는 getter와 setter도 구현합니다.EclipseLink에서 IdClass에 대한 요구 사항은 무엇입니까?

Persistence WikiBook 인수없이 인수가없는 생성자, 아니 getter 및 setter와 public 생성자를 가지고 있으며, 명시 적으로는 EclipseLink가 equalshashCode의 구현을 필요로하지 않는다는 것을 말한다.

정말 필요한 것은 무엇입니까? 이클립스 링크가 나를 위해 이들을 생성 할 것이기 때문에 최소한의 IdClass 만 속성과 생성자 및 메소드없이 사용할 수 있습니까? 이것은 EclipseLink의 버전에 달려 있습니까?

답변

1

다른 인수가 정의되어 있지 않으면 java에 의해 생성되는 인수가없는 생성자 만 필요합니다. 속성과 함께 최소 클래스 만 사용할 수 있습니다.

그러나 EclipseLink는 해시 또는 같음 기반 조작과 관련하여 예기치 않은 문제가 발생할 수 있음을 나타냅니다.

+0

이렇게하면 'hashCode'와'equals'을 지정하지 않으면 기본 키의 동일성이 기본값으로 object identiy입니까? 따라서 실제로 EclipseLink에서는 이러한 메소드를 포함하는 것이 여전히 필요합니까? – oulenz

+1

기본적으로 그렇습니다. 그리고 항상 hashCode/equals 메소드를 지정하는 것이 좋지만, 간단한 사용 사례 (예 :'select * from ...'등)에서는 제대로 작동하지 않을 것입니다. –