[hibernate-dev] RE: [Hibernate] Session.replicate() into IDENTITY table ?

Steve Ebersole steve.ebersole at jboss.com
Fri Aug 11 09:52:55 EDT 2006


StatelessSession has nothing to do with lack of a transaction!

- meaning StatelessSession operates in a transaction exactly as does
Session...

-----Original Message-----
From: Darryl Miles [mailto:darryl-mailinglists at netbauds.net] 
Sent: Friday, August 11, 2006 3:13 AM
To: Steve Ebersole
Cc: hibernate-devel at lists.sourceforge.net
Subject: Re: [Hibernate] Session.replicate() into IDENTITY table ?

Steve Ebersole wrote:
> Not sure if anyone replied to this yet or not, so I'll throw my $0.02
> into the discussion.  I think all that is needed is to better allow
> definition of what is to occur during replication in the method call.
> For example, consider the changing the signature from accepting a
> ReplicationMode to accepting a (new) "ReplicationStrategy", where
> ReplicationStrategy is defined something like:
> ReplicationStrategy {
>     /**
>      * How should we react when we encounter a pre-existing row
>      * in the target database?
>      * <p/>
>      * TODO: probably rename the ReplicationMode class to MergeMode
>      */
>     public ReplicationMode getMergeMode() ... 
>     /**
>      * When replicating an entity which does not yet occur in the
>      * target database, should we enforce that the target data
>      * we are about to create have the same identifier value?
>      */
>     public boolean forceIdentiferRetention() ...
> }
> 
> Also, there has been some discussion about moving the replicate
> functionality from the Session interface to the StatelessSession
> interface which would be a good point in time to introduce such
changes.

The use of a strategy configuration object would fine from the Hibernate

API users perspective and head off the possibility of legacy API kruft 
issues (when another parameter is wanted in the future).


Would I be correct in saying that operations using a StatelessSession 
are not part of a transaction ?  If so are you proposing to _REMOVE_ the

Session#replicate() operation completely that is part of a transaction. 
  Providing for both stateful and stateless would cover all bases and 
have their valid use cases.  Maybe I am misunderstanding something here.

Darryl




More information about the hibernate-dev mailing list