Glen,

I think its only on the named queries as if I delete a weblog entry it
updates correctly, and uses a dynamic query.

EntityManager em = getEntityManager(false);
Query q = em.createNamedQuery(queryName);
// Never flush for queries. Roller code assumes this behavior
q.setFlushMode(FlushModeType.COMMIT);
return q;

 EntityManager em = getEntityManager(false);
 Query q = em.createQuery(queryString);
 // Never flush for queries. Roller code assumes this behavior
 q.setFlushMode(FlushModeType.COMMIT);


Cheers Greg

On 29 July 2013 13:14, Glen Mazza <glen.ma...@gmail.com> wrote:

> OK, we can switch to Hibernate for the time being, and it works fine
> there, it's as simple a matter as commenting-out the EclipseLink dependency
> and uncommenting the Hibernate one in the app/pom.xml and doing an mvn
> clean install to get a new WAR.  Still, I'd like to fix this EclipseLink
> issue, maybe there's some simple setting causing it not to work.  Note our
> EclipseLink is JPA 2.1 vs. Hibernate's (and the OpenJPA's) 2.0, that might
> be part of the story.
>
> Glen
>
> On 07/29/2013 07:34 AM, Greg Huber wrote:
>
>>  From google:
>>
>> "By default, the database flush mode is set to AUTO. This means that the
>> Entity-Manager performs a flush operation automatically as needed.  In
>> general, this occurs at the end of a transaction for transaction-scoped
>> EntityManagers and when the persistence context is closed for
>> application-managed or extendedscope EntityManagers. In addition, if
>> entities with pending changes are used in a query, the persistence
>> provider
>> will flush changes to the database before executing the query.If the flush
>> mode is set to COMMIT, the persistence provider will only synchronize with
>> the database when the transaction commits.However, you should be careful
>> with this, as it will be your responsibility to synchronize entity state
>> with the database before executing a query. If you don’t do this and an
>> EntityManager<http://docs.**oracle.com/javaee/6/api/javax/**
>> persistence/EntityManager.html<http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html>
>> **>query
>> returns stale entities from the database, the application can wind up
>> in an inconsistent state."
>>
>> Did try to change it to auto but made no difference.
>>
>> On 29 July 2013 12:25, Glen Mazza <glen.ma...@gmail.com> wrote:
>>
>>  OK, I'll check, but what happens if you go to the Roller maintenance tab
>>> and click on "Flush blog" (that will normally empty out the cache) --
>>> problem solved then?
>>>
>>> Note I had to bring back your changes after the move to fewer modules, I
>>> might have missed something.
>>>
>>> Glen
>>>
>>> On 07/29/2013 07:20 AM, Greg Huber wrote:
>>>
>>>  Glen,
>>>>
>>>> Can you test whether you can delete a media file folder?  ie add a
>>>> folder
>>>> and then try and delete it.  For me it seems to delete it OK but when
>>>> you
>>>> refresh the media file folder view it is still there.  If I then shut
>>>> down
>>>> tomcat and restart it is gone.  It seems something to do with its cache?
>>>>
>>>> checking:
>>>>
>>>> public Query getNamedQuery(String queryName)
>>>> ....
>>>>    q.setFlushMode(FlushModeType.****COMMIT);
>>>>
>>>> it sets the query to flush on commit, which should in theory flush the
>>>> query cache when the transaction is committed.
>>>>
>>>> Is there some callback method we need to call to get it to flush?
>>>>
>>>>
>>>> Cheers Greg
>>>>
>>>>
>>>>
>

Reply via email to