2012-03-18 4 views
0

안녕하세요. 데이터베이스 연결을 사용하여 jpa 엔티티를 만들려고 할 때 몇 가지 예외가 발생합니다. id가 존재하지 않습니다. 나는 그것이 어떤 테이블에는 기본 키가 없다는 사실과 관련이 있다고 생각한다. 각 엔티티를 거쳐 기본 키를 제공하면 오류가 해결되기 때문입니다. 기본 키가없는 테이블에서 엔티티를 만들려면 어떻게해야합니까? 나는 websphere 통합 개발자 (wid) btw를 사용하고 있습니다.jsp websphere 엔티티 ID 존재하지 않는 오류

답변

1

모든 엔티티에는 ID가 있습니다. 즉, 작동하는 방식입니다. 엔티티에 매핑하려는 테이블이 데이터베이스에 있고 테이블에 기본 키가없는 경우 몇 가지 옵션이 제공됩니다.

  • 생성 된 ID (JPA 또는 DB가 관리)를 테이블에 추가하십시오.
  • 엔티티 ID로 테이블의 기존 열 몇 개를 사용합니다 (ID가 고유하게되는 데 필요한 최소 숫자 선택).
  • 이론적으로 조합이 고유하지 않은 경우에도 모든 열을 사용하십시오 (테이블/DB를 엉망으로 만들어 Java 레이어에서조차 발생하지 않도록 조심해야합니다)
  • ... 더 많은 대안이 될 수 있습니다. 지금 당장 생각할 수없는 대안이 될 수 있습니다.

JPA 및 CompositeKey를 검색하여 대안 2 및 3을 수행하는 방법에 대한 정보를 찾기가 쉽습니다.

행운을 빌어 요.

+0

생각하지 않았습니다. 나는 그 일을 끝낼지도 모른다. 감사. – SoftwareSavant

+0

내가 대신 포함 된 유형을 생성 할 수 있습니까? – SoftwareSavant

+0

엔티티 대신 또는 대신 엔티티의 ID로 사용 하시겠습니까? – esej