2010-08-14 5 views
1

테이블에 다 대다 필드 매핑이있는 개체 Word()를 유지하려고 할 때 "계단식 PERSIST로 표시되지 않은 관계를 통해 새 개체가 발견되었습니다"가 나타납니다 주제 관계 브리지 테이블은 Topic_links입니다. 문제를 복잡하게 만드는 것은 필자가 항상 Eclipse Workbench를 사용하여 엔티티를 설정하기 때문에 대부분의 사람들이 workbench가 사용하지 않는 주석을 사용하여 답변을 제안하므로 솔루션을 찾기가 어렵습니다. PERSIST와의 관계를 위해 CASCADE 옵션을 설정하는 작업대에서 방법을 찾지 못했습니다. persistence.xml에 다음 항목을 추가했습니다.EclipseLink 캐스케이드 지속 예외

<property name="eclipselink.persistence-context.persist-on-commit" value="true"/> 

예외가 여전히 발생합니다.

답변

1

Eclipse Workbench가 원시 EclipseLink ORM XML 파일을 사용하지만 표준 JPA XML 맵핑을 사용하고 있기 때문에 <many-to-many> 내부에 <cascade> 요소를 추가하여 계단식 연결을 설정할 수 있기 때문에 구문을 완전히 모르겠습니다.

<many-to-many name="projects" target-entity="Project"> 
    <join-table name="PROJ_EMP"> 
     <join-column name="EMP_ID" /> 
     <inverse-join-column name="PROJ_ID" /> 
    </join-table> 
    <cascade> 
     <cascade-persist/> 
    </cascade> 
</many-to-many> 

실제로 습관을 변경해야하는데, Eclipse Workbench는 JPA 개발에 이상적이지 않습니다. 이 Workbench to use annotations 스레드에서 제임스 서덜랜드을 인용 :

는 EclipseLink 워크 벤치는 네이티브 (구)는 EclipseLink ORM XML 파일, OXM 및 EIS에 대한 UI 것은, 그렇지 JPA 개발을위한 을 의미한다. Eclipse Dali, Oracle JDeveloper 또는 JPA 같은 도구를 사용해야합니다.