2010-08-14 92 views
1

我收到“在同步期间,通过未标记级联PERSIST的关系找到新对象”,当试图持久对象具有多对多字段映射到表的Word()时主题。关系桥表是Topic_links。使问题复杂化的是我总是使用Eclipse Workbench来设置我的实体,这使得很难找到解决方案,因为大多数人建议使用注释进行解答,工作台不使用注解。我还没有在工作台中找到一种将关系的CASCADE选项设置为PERSIST的方法。我已将以下条目添加到persistence.xml中:EclipseLink级联持久性异常

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

异常仍在抛出。

回答

1

我不能完全肯定的语法,因为它似乎是在Eclipse Workbench通过添加<cascade>元素<many-to-many>里面,像这样使用原生的EclipseLink ORM XML文件,但与标准JPA XML映射文件,你可以设置级联:

<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 工具。