[ 
https://issues.apache.org/jira/browse/OPENJPA-729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12632435#action_12632435
 ] 

Michael Dick commented on OPENJPA-729:
--------------------------------------

Hi Gil,

OPENJPA-665 deals with the nullable attribute of a Column annotation so I'm 
assuming you have that set to false as well. Maybe your entity field looks 
something like this:  

    @Column(name="NONIN", insertable=false, nullable=false)
    private String nonInsertable;
    

If you've specified insertable=false and nullable=false there's really no way 
to add a new entity. If a field is annotated with insertable=false the JPA 
provider will ignore it when issuing INSERT statements. If nullable=false adds 
a non null constraint in the database (assuming you're generating the tables). 
The combination prevents em.persist(myEntity) from working. 

The combination could be useful if the application only operates on a fully 
populated database (or you want new rows to be inserted elsewhere). 

With updateable=false and nullable=false you have the opposite scenario. You 
can set a value when you insert the entity (and must do so), and the value can 
never be changed. 

I tested this scenario with a nightly build (1.3.0-SNAPSHOT) and it looks like 
it's working correctly. 

I also tried just setting @Column(insertable=false) and didn't run into any 
UserExceptions (on 1.2.0, 1.2.1-SNAPSHOT, and 1.3.0). Are there any other 
annotations on your persistent properties that could be causing other problems? 

If you have a testcase or a sample entity that reproduces the problem could you 
post it here? 

> @Column( insertable=false ) broken, causes 'can not be set' exception
> ---------------------------------------------------------------------
>
>                 Key: OPENJPA-729
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-729
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jdbc
>    Affects Versions: 1.2.0
>            Reporter: Gil Markham
>
> It appears the patch to fix OPENJPA-665 has caused UserExceptions to always 
> occur on insert if using 'insertable=false' on a @Column annotation. I 
> haven't verified by I would assume the same holds true for updates and 
> 'updatable=false' considering the code looks the same.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to