English 中文(简体)
Toplink trying to persist null object
原标题:

I have an object "Instance" with another object "Course" inside. When trying to persist a new Instance object, I get the following error if Course is null:

java.lang.IllegalStateException: During synchronization a new object was found through a relationship that was not marked cascade PERSIST: null

Here is my annotation for course:

@OneToOne(cascade = CascadeType.REFRESH,optional=true)
    public Course getCourse() {
        return course;
    }

I don t see why it s trying to persist something that s null. If it s null, it should just leave that field null in the database right?

最佳回答

I don t see why it s trying to persist something that s null. If it s null, it should just leave that field null in the database right?

By default, TopLink JPA assumes that all the fields of an entity are persistent. If you want to specify a field or property of an entity that is not persistent, you need to mark it with @Transient (but this is not what you want here).

So, to me, this error is the result of not having specified the proper Cascade type for the OneToOne end of the relation in the Instance Entity. I can t say why you re not using ALL but you need at least to add PERSIST.

问题回答

暂无回答




相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...

热门标签