mmm...There is not your JIRA....
Probably you want to maintain your version of Burrow in some place
and incentive people to do the same.
Very good to know.

2008/12/19 Fabio Maulo <[email protected]>

> Hi Oscar.Do you have add a JIRA ticket with your problem and solution ?
>
> 2008/12/19 Oscar Orduz Acosta <[email protected]>
>
> Hello Manu:
>>
>> I had similar experience, what I needed were have the same entities but in
>> different databases (even in different Engines i.e Oracle, MsSQl, etc), so
>> we can support almost transparently several client implementations in
>> Database but with the same design.
>>
>> I have to custom the code of Burrow in the following files:
>>
>> BurrowFramework.cs:
>>         /// <summary>
>>         /// Numero método incluido para Framework
>>         /// </summary>
>>         /// <param name="configurationId"></param>
>>         /// <returns></returns>
>>         public ISessionFactory GetSessionFactoryByName(string
>> configurationId)
>>         {
>>             if (PersistenceUnitRepo.Instance == null)
>>
>>  PersistenceUnitRepo.Initialize(BurrowEnvironment.Configuration);
>>             return
>> PersistenceUnitRepo.Instance.GetPUByName(configurationId).SessionFactory;
>>         }
>>         /// <summary>
>>         /// Oscar Orduz.
>>         /// </summary>
>>         /// <param name="configurationId"></param>
>>         /// <returns></returns>
>>         public ISession GetSessionByName(string configurationId)
>>         {
>>             AbstractConversation c =
>> ((AbstractConversation)CurrentConversation);
>>             return c.GetSessionByName(configurationId);
>>         }
>>
>> AbstractConversation.cs
>>
>>        /// <summary>
>>         /// Oscar Orduz
>>         /// </summary>
>>         /// <param name="configurationId"></param>
>>         /// <returns></returns>
>>         public ISession GetSessionByName(string configurationId)
>>         {
>>             SessionManager sm = string.IsNullOrEmpty(configurationId) ?
>> GetSessionManager() : GetSessionManagerByName(configurationId);
>>             return GetSession(sm);
>>         }
>>         /// <summary>
>>         /// Método creado para el manejo de la sesión para el framework de
>> PS
>>         /// </summary>
>>         /// <param name="configurationId"></param>
>>         /// <returns></returns>
>>         internal SessionManager GetSessionManagerByName(string
>> configurationId)
>>         {
>>             return
>> sessManagers[PersistenceUnitRepo.Instance.GetPUByName(configurationId)];
>>         }
>>
>> PersistenceUnitRepo.cs
>>         /// <summary>
>>         /// Método creado para la recuperación por nombre
>>         /// </summary>
>>         /// <param name="configurationId"></param>
>>         /// <returns></returns>
>>         public PersistenceUnit GetPUByName(string configurationId)
>>         {
>>             if (PersistenceUnits.Count == 1)
>>             {
>>                 return PersistenceUnits[0];
>>             }
>>             foreach (PersistenceUnit pu in persistenceUnits)
>>             {
>>                 if (pu.Name == configurationId)
>>                 {
>>                     return pu;
>>                 }
>>             }
>>
>>             throw new GeneralException("Persistence Unit cannot be found
>> for " + configurationId);
>>         }
>>
>> I have mantained this code for three releases of burrow and until now it
>> works fine
>>
>> Hope this help.
>>
>> Oscar
>>
>> 2008/12/18 Manu <[email protected]>
>>
>>
>>> I have been looking at the Burrow source code and I'm not sure if I
>>> can use its GenericDAO to handle multiple databases the way I want.
>>>
>>> I have see that the Session property of the GenericDAO class calls
>>> BurrowFramework().GetSession(_NHEntityType) and that works good if the
>>> multiples databases you're working with have different entities.
>>> However, it can't handle multiple databases with the same mapped
>>> entities as the GetSession method always returns the first
>>> PersistenceUnit. So I think GenericDAO needs an overload to specify a
>>> session factory name to retrieve the proper PersistenceUnit by name
>>> instead of by type.
>>>
>>> As I have started today to look at Burrow I may be wrong, so if anyone
>>> is familiar with it I'd appreciate if he can show some light about
>>> that problem.
>>>
>>>
>>>
>>
>> >>
>>
>
>
> --
> Fabio Maulo
>



-- 
Fabio Maulo

--~--~---------~--~----~------------~-------~--~----~
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