해시 코드 및 엔터티를 구현하는 것이 일반적으로 좋은 방법인지 여부를 처리하는 가장 좋은 방법을 추론하려했습니다 (일반적인 의미의 엔터티를 의미 함). 하지만 대부분의 경우 JPA 엔티티가됩니다). http://docs.jboss.org/hibernate/core/3.3/reference/en/html/best-practices.html가이 말한다 수동 최대 절전 모드의 제 24 장에서같음 및 해시 코드 또는 엔티티 클래스에 대한 질문이 없습니다.
...
모든 엔티티에서 자연 키를 식별하고 을 사용하여지도. equals() 및 hashCode()를 구현하여 자연 키를 구성하는 속성을 비교하십시오.
.equals 및 .hashcode에는 이러한 자연 키만 포함될 수 있지만 동일한 엔터티 (동일한 자연어 ID 및 동일한 해시 코드) 인스턴스가 두 개 이상있는 경우에는 무엇이 좋을까요? 이 관행이 응용 프로그램의 다른 곳에서 미묘한 영향을 미칠 수있는 것처럼 보입니다. 전에 대규모로 시도한 사람이 있습니까?
어떤 의미가 키를 기준으로 동일하지만 특성에 의해 동일하지 않은 것으로 확인합니까? 그것은 가치에 의해서가 아니라 평등에 의한 것과 같습니다. –
새 엔티티에는 기본 키가 없습니다 (표준 방법 인 대리 키를 사용하는 경우). 따라서 키를 사용하여 비교할 경우 equals가 새 엔티티에서 작동하지 않습니다. –
어떤 메소드를 영속 클래스'equals()'와'hashcode()'메소드에 사용합니까? Collection 또는 Hibernate 코드에 의해 호출 될 것이기 때문에 이들에 대한 선택이 필요합니다. –