h...@all,
i am using nhibernate with spring.net. I tried to implement the
transactional behavior as described here
http://www.springframework.net/docs/1.1-RC2/reference/html/orm.html
but it wont work for me. I really dont know what i am doing wrong.
Here is my config.
<!-- Database and NHibernate Configuration -->
  <db:provider id="DbProvider"
               provider="OracleClient-2.0"
               connectionString="Data Source=(DESCRIPTION =
(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ${db.host})(PORT = $
{db.port})))(CONNECT_DATA = (SERVICE_NAME = ${db.database})));User Id=$
{db.user};Password=${db.password};"
  />

  <object id="HibernateTransactionManager"
type="Spring.Data.NHibernate.HibernateTransactionManager,
Spring.Data.NHibernate20">
    <property name="DbProvider" ref="DbProvider"/>
    <property name="SessionFactory" ref="NHibernateSessionFactory"/>
    <property name="NestedTransactionsAllowed" value="true" />
  </object>

  <object id="AutoProxyCreator"
type="Spring.Aop.Framework.AutoProxy.DefaultAdvisorAutoProxyCreator,
Spring.Aop" autowire="byName"></object>
  <object id="TransactionAdvisor"
type="Spring.Transaction.Interceptor.TransactionAttributeSourceAdvisor,
Spring.Data" autowire="constructor"></object>

  <!-- Transaction Interceptor -->
  <object id="TransactionInterceptor"
type="Spring.Transaction.Interceptor.TransactionInterceptor,
Spring.Data">
    <property name="TransactionManager"
ref="HibernateTransactionManager"/>
    <property name="TransactionAttributeSource"
ref="AttributeTransactionAttributeSource"/>
  </object>
  <object id="AttributeTransactionAttributeSource"
type="Spring.Transaction.Interceptor.AttributesTransactionAttributeSource,
Spring.Data"></object>

  <tx:attribute-driven transaction-
manager="HibernateTransactionManager"/>


  <object id="HibernateTemplate"
type="Spring.Data.NHibernate.Generic.HibernateTemplate">
    <property name="SessionFactory" ref="NHibernateSessionFactory" />
    <property name="TemplateFlushMode" value="Auto" />
    <property name="CacheQueries" value="true" />
  </object>

  <!--End Hibernate Config-->


I have decorated my Service Mehthod as follows.
[Transaction(TransactionPropagation.Required, ReadOnly=false)]
        public virtual DTOXy AMethod(Int64 anId, AnObject dto){
...
transactionDao.Save(object1);
transactionDao.Save(object2);
}

When i look inside my log then i see that there is a new session
created for every statement. What am i doing wrong?

Here an excerpt from my log.

DEBUG Spring.Data.NHibernate.HibernateAccessor - Eagerly flushing
Hibernate session
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
flushing session
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
processing flush-time cascades
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener - dirty
checking collections
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
Flushing entities and processing referenced collections
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
Processing unreferenced collections
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
Scheduling collection removes/(re)creates/updates
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
DEBUG NHibernate.Impl.Printer - listing entities:
DEBUG NHibernate.Impl.Printer - Objects.Entities.Common.MyEntity
{MandatorId=123456789}
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener -
executing flush
DEBUG NHibernate.AdoNet.ConnectionManager - registering flush begin
DEBUG NHibernate.Caches.SysCache2.SysCacheRegion - root cache item for
region not found.
DEBUG NHibernate.Caches.SysCache2.SysCacheRegion - Creating root cache
entry for cache region: UpdateTimestampsCache
DEBUG NHibernate.Caches.SysCache2.SysCacheRegion - adding new data:
key=NHibernate-Cache:UpdateTimestampsCache:my_ent...@1670209579 &
value=5159663062421504
DEBUG NHibernate.Caches.SysCache2.SysCacheRegion - item will expire
at: 12/01/2009 16:06:44
DEBUG NHibernate.Persister.Entity.AbstractEntityPersister - Inserting
entity: [Objects.Entities.Common.MyEntity#123456789]
DEBUG NHibernate.AdoNet.AbstractBatcher - Opened new IDbCommand, open
IDbCommands: 1
DEBUG NHibernate.AdoNet.AbstractBatcher - Building an IDbCommand
object for the SqlString: INSERT INTO MY_ENTITY (MANDATOR_ID) VALUES
(?)
DEBUG NHibernate.Persister.Entity.AbstractEntityPersister -
Dehydrating entity: [Objects.Entities.Common.MyEntity#123456789]
DEBUG NHibernate.Type.Int64Type - binding '123456789' to parameter: 0
DEBUG NHibernate.SQL - INSERT INTO MY_ENTITY (MANDATOR_ID) VALUES
(:p0); :p0 = '123456789'
NHibernate: INSERT INTO MY_ENTITY (MANDATOR_ID) VALUES (:p0); :p0 =
'123456789'
DEBUG NHibernate.Connection.DriverConnectionProvider - Obtaining
IDbConnection from Driver
DEBUG NHibernate.AdoNet.AbstractBatcher - Closed IDbCommand, open
IDbCommands: 0
DEBUG NHibernate.AdoNet.ConnectionManager - skipping aggressive-
release due to flush cycle
DEBUG NHibernate.AdoNet.ConnectionManager - registering flush end
DEBUG NHibernate.AdoNet.ConnectionManager - aggressively releasing
database connection
DEBUG NHibernate.Connection.ConnectionProvider - Closing connection
DEBUG NHibernate.Event.Default.AbstractFlushingEventListener - post
flush
DEBUG Spring.Data.NHibernate.SessionFactoryUtils - Closing Hibernate
Session
DEBUG NHibernate.Impl.SessionImpl - closing session



I know this is not an spring.net group but i really hope you can help
me.

Please help me.

Regards

eigeneachse


--

You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.


Reply via email to