[ 
https://issues.apache.org/jira/browse/ISIS-2706?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Keir Haywood resolved ISIS-2706.
---------------------------------------
    Resolution: Fixed

> JPA does not persist entities with application-defined primary keys
> -------------------------------------------------------------------
>
>                 Key: ISIS-2706
>                 URL: https://issues.apache.org/jira/browse/ISIS-2706
>             Project: Isis
>          Issue Type: Bug
>          Components: Isis Persistence JPA
>    Affects Versions: 2.0.0-M5
>            Reporter: Daniel Keir Haywood
>            Assignee: Andi Huber
>            Priority: Major
>             Fix For: 2.0.0-M6
>
>         Attachments: image-2021-05-28-06-20-20-489.png, 
> image-2021-05-28-06-31-55-731.png
>
>
> For example, secman's ApplicationTenancy cannot be persisted as currently 
> implemented.
> Reason (perhaps): there is logic in ManagedObjects.EntityUtil.getState() to 
> infer the entity state of the object, and for such entities it returns the 
> state as PERSISTABLE_DESTROYED rather than DETACHED, meaning that flush 
> transaction is never called. 
> To reproduce, simply attempt to create a new ApplicationTenancy. 
>  
> HERE'S THE CODE THAT SHOWS the entity is not reported as detached,so the 
> transaction never flushed:
> !image-2021-05-28-06-20-20-489.png|width=783,height=627!
>  
> THE FIX MIGHT BE TO SIMPLY REMOVE THE HIGHLIGHTED, WHICH PERHAPS IS A 
> PERFORMANCE OPTIMISATION?  (or,  it is only safe to do if the @Id also has 
> @GeneratedValue, which application-defined primary keys do not, of course.
>  
> !image-2021-05-28-06-31-55-731.png|width=645,height=374!
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to