openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: change primary key value?
Date Sat, 17 Feb 2007 18:10:10 GMT
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:
> figbird.lists.entities.Email-info@sunburnt.com.au
>
>
> 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:Craig.Russell@sun.com
P.S. A good JDO? O, Gasp!


Mime
View raw message