The Setresulttransformer method of NHibernate will appear under Oracle "Could not find a setter-for-property" error, which is a bug that NHibernate uses under Oracle. I can fix it myself for this bug.
 
Download the NHibernate source code, the property under the "ChainedPropertyAccessor.cs" minor changes will fix this bug, the codes are as follows:
 
using system;namespace nhibernate.properties{    using  System.text.regularexpressions;    [serializable]    public class  ChainedPropertyAccessor : IPropertyAccessor    {         private readonly IPropertyAccessor[] chain;         public chainedpropertyaccessor (Ipropertyaccessor[] chain)          {             this.chain = chain;        }          #region  IPropertyAccessor Members         Public igetter getgetter (System.type theclass, string propertyname)          {            for  (int i = 0; i <  chain. length; i++)             {                 ipropertyaccessor candidate  = chain[i];                 try                 {                     return candidate. Getgetter (Theclass, propertyname);                 }                 catch  (propertynotfoundexception) &NBSP;&NBSP;&NBSP;&NBSP;&NBSP;&Nbsp;          {                     // ignore                 }             }             throw new propertynotfoundexception (theclass, propertyname,  "getter");         }        public ISetter  Getsetter (System.type theclass, string propertyname)          {            for  (int i =  0; i < chain. length; i++)             {                 ipropertyaccessor  candidate = chain[i];                 try                 {                     return candidate. Getsetter (Theclass, tomodelname (PropertyName));                 }                 catch  (propertynotfoundexception)                  {                     //                }             }             throw new propertynotfoundexception (theclass, propertyname,  "setter");         }        public bool  CanAccessThroughReflectionOptimizer        {             get { return false; }         }         #endregion          private static string tomodelname (STRING&NBSP;STR)          {             str = str. ToloweR ();            var temp =  Regex.Replace (str, @ "_[a-z"?, M=>m.tostring (). Substring (1). ToUpper ());             var result =  regex.replace (temp, @ "^[a-z"?,  m => m.tostring (). ToUpper ());            return result;         }    }}