[hibernate-dev] [OGM] Transaction-aware

Pawel Kozlowski pkozlowski.opensource at gmail.com
Mon Apr 2 10:28:48 EDT 2012


hi Emmanuel, All!

I've provided some more context regarding the data store I'm looking
into in response to Sanne's post. I know it sounds crazy but I'm
exploring git as a key-value store (that gives me versioning as a
"bonus").

On Mon, Mar 26, 2012 at 6:37 PM, Emmanuel Bernard
<emmanuel at hibernate.org> wrote:
> I am not entirely sure how this will be shaped but I would like at least the following:
>
> - a way to hook a fake JTA resource for backends that do not expose themselves as JTA resources
> - a way to support things like entityManager.getTransaction().begin() / .commit() / .rollback();
>
> for systems that have some kind of transaction demarcation.

Well, this sounds like exactly what I need :-) What I could do is to
provide XAResource implementation for jgit but it just feels like
there should be an easier way. At the same time my knowledge of
Hibernate/OGM code base is limited so forgive me ignorance and my
intuition might be totally wrong here.

> I also want to support
>...
> but only support begin / commit (no rollback). That will help as the flush() operation will be part of the commit() operation transparently.

This would be fine for me (although with git you are getting rollback
almost "for free"). But it is true that the main thing here would be
to know when commit occurs to be able to flush/persist changes
correctly (or at least finish flushing).

I know that the use case I'm trying to cover here might sound "exotic"
but it is good to see that you were looking into some kind of
transaction facilities for stores that don't manifest themselves as JTA
resources. Would be higly interested in brainstorming / trying out
different things.

Thanks for your input so far!

Cheers,
Pawel



More information about the hibernate-dev mailing list