Rick Curtis created OPENJPA-2443:
------------------------------------

             Summary: InvalidStateException while merging a new Entity with a 
GeneratedValue id
                 Key: OPENJPA-2443
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2443
             Project: OpenJPA
          Issue Type: Bug
          Components: kernel
    Affects Versions: 2.3.0, 2.4.0
            Reporter: Rick Curtis
            Assignee: Rick Curtis


This problem only happens if you have an Entity with a Generated id that also 
has the annotation @Basic(optional = false). If you create a new Entity and 
then try to persist it via EntityManager.merge(...) call, you'll get the 
following stack :

<openjpa-0.0.0-rnull fatal user error> 
org.apache.openjpa.persistence.InvalidStateException: The field "id" of 
instance 
"org.apache.openjpa.persistence.jdbc.auto.AutoIncrementEntity@99883308" 
contained a null value; the metadata for this field specifies that nulls are 
illegal.
        at 
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:567)
        at 
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:511)
        at 
org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:3019)
        at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:44)
        at 
org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1035)
        at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2141)
        at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2101)
        at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1872)
        at 
org.apache.openjpa.kernel.DelegatingBroker.flush(DelegatingBroker.java:1045)
        at 
org.apache.openjpa.persistence.EntityManagerImpl.flush(EntityManagerImpl.java:663)



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to