基于疑问看Nhibernate

本文探讨了NHibernate框架在数据库连接配置方面的安全性,并通过代码示例展示了如何在程序中直接配置连接信息,以增强安全性并提高灵活性。此外,还提到了后续关注点,如减少关联对象的冗余SQL查询及缓存问题。
  终于鼓起勇气再看NHibernate了,这次是带着疑问来看的,希望能够走入从类到数据库的境界。
  原本看到的那些sample都是把数据库连接信息写入app.config或者 web.config
  就在担心数据库连接信息的安全性。
  其实完全没有必要担心,我们可以在程序中进行增加配置信息,然后BuildSessionFactory
  这样就为那些webservice  remoting或者对连接信息比较敏感的C/S程序提供了帮助。
  具体代码可以看如下
 
None.gif_nHConfiguration = new Configuration(); 
None.gif
None.gif  _nHConfiguration.Properties.Add(
"hibernate.connection.provider"
None.gif      
"NHibernate.Connection.DriverConnectionProvider"); 
None.gif
None.gif  _nHConfiguration.Properties.Add(
"hibernate.dialect"
None.gif      
"NHibernate.Dialect.Oracle9Dialect"); 
None.gif
None.gif  _nHConfiguration.Properties.Add(
"hibernate.connection.driver_class"
None.gif      
"NHibernate.Driver.OracleClientDriver"); 
None.gif
None.gif  _nHConfiguration.Properties.Add(
"hibernate.connection.connection_string"
None.gif      
string.Format( 
None.gif      Core.Configuration.Database.ConnectionStringTemplate, 
None.gif      Core.Configuration.Database.Name, 
None.gif      Core.Configuration.Database.ConnectionUsername, 
None.gif      Core.Configuration.Database.ConnectionPassword)); 
None.gif
None.gif  _nHConfiguration.Properties.Add(
"hibernate.show_sql""true"); 
None.gif
None.gif
None.gif  _nHConfiguration.AddAssembly(
"ChemRex.Application"); 
None.gif  _nHConfiguration.AddAssembly(
"ChemRex.Security"); 
None.gif  _nHConfiguration.AddAssembly(
"ChemRex.Core"); 
None.gif
None.gif  _hNSessionFactory 
= _nHConfiguration.BuildSessionFactory();

  我们可以清楚地看到原来存放在配置文件的,统统可以在这里用代码加入。
  呵呵,对nhibernate更有信心了。
  接下去的疑问是,如何减少关联对象的冗余SQL查询。
 还有缓存的问题。

转载于:https://www.cnblogs.com/wildfish/archive/2006/03/12/348560.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值