Hi Roger,

On Feb 17, 2007, at 3:37 AM, roger.keays wrote:


Is there a way to change the primary key of an entity in OpenJPA? The
expection below doesn't fill me with hope...

The JPA specification 2.1.4 says that the application must not change the value of a primary key, but the specific behavior is not defined. So OpenJPA is spec compliant.

That said, there are cases I've seen where changing a primary key is useful. So I would not oppose a proposal to add the feature to OpenJPA.

By the way, JDO doesn't prohibit it; there is a specific optional feature to allow this. But an implementation has to choose to support it.

Craig

Cheers,

Roger


 <4|false|0.9.6-incubating>
org.apache.openjpa.persistence.InvalidStateException: Attempt to change a primary key field of an instance that already has a final object id. Only new, unflushed instances whose id you have not retrieved can have their
primary keys changed. FailedObject:
[EMAIL PROTECTED]


org.apache.openjpa.kernel.StateManagerImpl.assertNoPrimaryKeyChange (StateManagerImpl.java:1819)

org.apache.openjpa.kernel.StateManagerImpl.settingStringField (StateManagerImpl.java:1800)
    figbird.lists.entities.Email.pcSetemail(Email.java)
    figbird.lists.entities.Email.setEmail(Email.java:36)
   ...
--
View this message in context: http://www.nabble.com/change-primary- key-value--tf3244417.html#a9018988
Sent from the open-jpa-dev mailing list archive at Nabble.com.


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to