java.lang.IllegalStateException: Field "cn.yuan.bean.Subclass" contains a persistable object that isnt persistent, but the field doesnt allow cascade-persist!
at org.datanucleus.jpa.NucleusJPAHelper.getJPAExceptionForNucleusException(NucleusJPAHelper.java:237)
at org.datanucleus.jpa.EntityTransactionImpl.commit(EntityTransactionImpl.java:122)
当需要对一个子对象进行更新的时候,由于子对象有父对象的引用,可能产生这个异常.处理的方法如下:
TransactionExecutorFactory.getExecutor().execute(new TransactionRunner() {
@Override
public Object doIt() {
subclass.setParent(null);//don't cascade parent object
subclassDao.update(subclass);
return null;
本文介绍了一种常见的Java持久化异常java.lang.IllegalStateException,并提供了解决方案。该异常发生在尝试更新包含未持久化对象的字段时。解决方案涉及在更新前解除子对象与父对象的关联。

被折叠的 条评论
为什么被折叠?



