엔티티 bean을 실제로 사용하지는 않지만 지금 당장 나를 응시하고 있습니다.외래 키가없는 JPA 엔티티 매핑
두 테이블이 서로 관련되어 있지만 외래 키는 없으므로 아무 것도 추가 할 수 없습니다. 이 질문에 대해 데이터베이스는 변경할 수 없으며 단지 불가능합니다. 그러나 다른 솔루션으로 뷰를 만들 수 있습니다. 어쨌든 ...
나는 3 개의 테이블을 가지고 있습니다. LOCATION, LINKS 및 ENDPOINT가 있으며 추가 소금은 LINKS_TYPE 테이블입니다.
LOCATION 테이블에는 위치 ID가 포함 된 문자열 인 기본 키 LOCATIONID가 있습니다.
LINKS 테이블 기본 키 LOCATION의 기본 키를 포함 ENDPOINT의 기본 키 열 LINK_ATTR_VALUE_B 포함 열로서 linkID를 LINK_ATTR_VALUE_A있다. 키 차 LINKS_TYPE
엔드 포인트 테이블을 포함 열 LINKTYPEID는
LINKS_TYPE가 기본 키 LINKTYPEID 열 LINKTYPEA (테이블 이름을 정의하는 텍스트 문자열이 연결된 것)했다 기본 키 POINTID 열 LINKTYPEB을 (이 링크 된 테이블 이름을 정의하는 텍스트 문자열)
LINKS_TYPE이 언급되었지만 데이터베이스의이 인스턴스에는 다른 링크가 없기 때문에 걱정할 필요가 없습니다.
내 LOCATION 엔터티 'List endPoints'에 멤버를 정의하고 싶습니다. 내 이해에서 @OneToMany가 될 것입니다. 여기에 도움이되는 외래 키가 없으며 항상 존재하지 않을 것임을 명심하십시오.
이것은 내가 정의 매핑 ... 그것은이 매우 높습니다
@OneToMany (cascade=CascadeType.ALL)
@JoinTable (name = "ENDPOINT",
joinColumns = @JoinColumn (
name = "LINK_ATTR_VALUE_B"
),
inverseJoinColumns =
@JoinColumn (
name = "LINK_ATTR_VALUE_A"
)
)
private List<EndPoint> endPoints;
당신은 내가 더 내가 뭘하는지 실마리가 없다 깨달을 수있다 : 문서의 아닌가요 너무 D 그러나, 그리고 필자 주문 ejb 3에 대한 책, 그러나이 맵핑을하기 전에 책을 마칠 시간이 없다 : D
우리는 jdeveloper 11g에서 TopLink를 사용하고 weblogic 서버에서는 오라클 10g를 데이터베이스로 사용하고있다.
query를하기 위해 serviceFacade 클라이언트를 사용할 때, 모든 것이 올바르게 보였습니다. (작업 공간이 없어졌고 클라이언트를 작동시키기 위해 프로젝트를 다시 만들어야하기 때문에). 제 생각에 올바른 데이터를 검색하기 위해 완벽한 쿼리를 생성합니다. 그러나 결과는 없습니다.
가능한 한 많은 정보를 제공 할 의향이 있습니다. 무엇이 필요한지 확실하지 않습니다. 하지만 매핑이 잘못되었다는 것을 알고 있습니다. 매핑을 이해할 수 없기 때문입니다.
누군가 나를 도울 수 있습니까?
감사합니다.
감사합니다. 나는 당신의 제안 중 일부를 시도 할 것입니다. 만약 내가 여전히 붙어 있다면, 멋진 다이어그램과 모든 jaz를 그리고 여기에 게시 할 것입니다. D 고맙습니다. – guyumu
괜찮습니다. 우리는 전체 데이터 모델을 완벽하게 매핑하는 데 항상 성공적이었습니다. 내가 어떻게했는지 업데이트 할 예정입니다. 이제 관리자 만 할 수 있습니다. 내가 사용할 수있는 올바른 옵션과 내가 이해해야하는 개념을 설명했기 때문에 귀하의 게시물을 답변으로 선택합니다. 고마워. – guyumu