From 9a85374602fd73033f8547aedc57ce91b8a9531c Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 15 Jun 2015 09:24:01 +0300 Subject: [PATCH] If HibernateTransactionManager.GetIDbTransaction() receives as parameter a subclass of AdoTransaction, it fails to retrieve the field trans that contains the IDbTransaction. The reason is that through reflection there's no acces to private fields of superclasses. This patch fixes that. --- .../Data/NHibernate/HibernateTransactionManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTransactionManager.cs b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTransactionManager.cs index 0a0b1a0c..3a81a32c 100644 --- a/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTransactionManager.cs +++ b/src/Spring/Spring.Data.NHibernate/Data/NHibernate/HibernateTransactionManager.cs @@ -667,7 +667,7 @@ namespace Spring.Data.NHibernate { try { - FieldInfo fi = hibernateAdoTx.GetType().GetField("trans", BindingFlags.Instance | BindingFlags.NonPublic); + FieldInfo fi = typeof(AdoTransaction).GetField("trans", BindingFlags.Instance | BindingFlags.NonPublic); adoTransaction = fi.GetValue(hibernateAdoTx) as IDbTransaction; } catch (Exception e)