You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Daniel Keir Haywood (Jira)" <ji...@apache.org> on 2021/07/19 16:31:00 UTC

[jira] [Updated] (ISIS-2799) JPA: Framework caches and does not re-read changed state from the database.

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

Daniel Keir Haywood updated ISIS-2799:
--------------------------------------
    Description: 
to reproduce:
 * run up JPA simpleapp
 * save an object
 * using h2 console, update the name manually
 * reload the object through the UI (eg click on the title)  - the change is not picked up, ie the database is not read.

 

~~~~

It seems that we use 

the symptom seems to be that we cache EntityManager's in JpaContext, which might be ok if they are proxied thread-locals; however the underlying aren't disposed of.

We notice that EclipseLink creates a "NoServerPlatform", meaning that it doesn't recognise us as being in a container.

We also notice that JPA creates an LocalContainerEntityManagerFactoryBean, whereas perhaps it should create a LocalEntityManagerFactoryBean.  [https://stackoverflow.com/a/6157339/56880] 

some docs:

[https://www.eclipse.org/eclipselink/documentation/2.6/solutions/testingjpa001.htm]

[https://www.baeldung.com/jpa-hibernate-persistence-context] - we want to use "transaction-scoped" persistence context rather than "extended" ... and we are, I think.

 

 

  was:
It seems that we use 

the symptom seems to be that we cache EntityManager's in JpaContext, which might be ok if they are proxied thread-locals; however the underlying aren't disposed of.

We notice that EclipseLink creates a "NoServerPlatform", meaning that it doesn't recognise us as being in a container.

We also notice that JPA creates an LocalContainerEntityManagerFactoryBean, whereas perhaps it should create a LocalEntityManagerFactoryBean.  [https://stackoverflow.com/a/6157339/56880] 

some docs:

[https://www.eclipse.org/eclipselink/documentation/2.6/solutions/testingjpa001.htm]

[https://www.baeldung.com/jpa-hibernate-persistence-context] - we want to use "transaction-scoped" persistence context rather than "extended" ... and we are, I think.

 

 


> JPA: Framework caches and does not re-read changed state from the database.
> ---------------------------------------------------------------------------
>
>                 Key: ISIS-2799
>                 URL: https://issues.apache.org/jira/browse/ISIS-2799
>             Project: Isis
>          Issue Type: Bug
>          Components: Isis Persistence JPA
>    Affects Versions: 2.0.0-M5
>            Reporter: Daniel Keir Haywood
>            Assignee: Daniel Keir Haywood
>            Priority: Blocker
>             Fix For: 2.0.0-M6
>
>
> to reproduce:
>  * run up JPA simpleapp
>  * save an object
>  * using h2 console, update the name manually
>  * reload the object through the UI (eg click on the title)  - the change is not picked up, ie the database is not read.
>  
> ~~~~
> It seems that we use 
> the symptom seems to be that we cache EntityManager's in JpaContext, which might be ok if they are proxied thread-locals; however the underlying aren't disposed of.
> We notice that EclipseLink creates a "NoServerPlatform", meaning that it doesn't recognise us as being in a container.
> We also notice that JPA creates an LocalContainerEntityManagerFactoryBean, whereas perhaps it should create a LocalEntityManagerFactoryBean.  [https://stackoverflow.com/a/6157339/56880] 
> some docs:
> [https://www.eclipse.org/eclipselink/documentation/2.6/solutions/testingjpa001.htm]
> [https://www.baeldung.com/jpa-hibernate-persistence-context] - we want to use "transaction-scoped" persistence context rather than "extended" ... and we are, I think.
>  
>  



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