[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2224) executeUpdate causes coarse cache invalidation

Vladimir Kralik (JIRA) noreply at atlassian.com
Thu Jul 1 02:57:09 EDT 2010


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37624#action_37624 ] 

Vladimir Kralik commented on HHH-2224:
--------------------------------------

Steve said : """I am not going to add an option that allows developers to tell Hibernate to leave itself in an inconsistent state."""

Developers are enough smarty to find path which by-pass this barrier. ( for example by using connection/datasource directly ).
So the main idea "don't allow developers leave Hibernate cache in inconsistent state" is only desire.
I think, that much better is to have this option, and don't force developers to by-pass this barrier and give them information, how hibernate works with second-level cache. Default value should be "clear all caches after each executeUpdate()"

As I said one year ago, I've mostly use read-only caches, so I really don't want to clear this caches after each executeUpdate-method.
Read-only caches means, that I've tables in database ( codelists ), which aren't maintained by application/Hibernate, but directly in database.

I still use Hibernate 3.2.6 with my own patches, because Hibernate bug-fixing is very slow process.

> executeUpdate causes coarse cache invalidation
> ----------------------------------------------
>
>                 Key: HHH-2224
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2224
>             Project: Hibernate Core
>          Issue Type: Improvement
>    Affects Versions: 3.2.0.ga
>         Environment: Hibernate 3.2.0.ga, Oracle 9.2
>            Reporter: Stefan Fleiter
>         Attachments: bulk_testcase.zip, hibernate-3.2.6_p4.patch
>
>
> I am developing an application and want to mix bulk-updates
> with normal hibernate operations.
> The bulk updates work fine, but invalidate the whole region and I've found
> no possibility to prevent this.
> There would be 3 options to improve:
> - Invalidate only the modified objects if the ids where given as Query-parameters.
> - Let me deactivate the invalidation so I can invalidate the affected objects myself.
> - Transform the DML to a select to gather the objects to invalidate before executing the DML
> The reference documentation does not mention caching at all:
> http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#batch-direct
> The best documentation I've found is:
> http://blog.hibernate.org/cgi-bin/blosxom.cgi/2005/07/19#dml-basic
> Maybe this could be added to the reference documentation...
> I already posted this at the forum
> http://forum.hibernate.org/viewtopic.php?t=966775
> but did not get a single answer.
> I've attached a testcase for this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list