首页 新闻 会员 周边

spring.net1.3.2和Nhibernate3.2的ClassMapping方式整理问题

0
悬赏园豆:100 [已解决问题] 解决于 2012-03-31 20:13

最近在尝试用Nhibernate3.2版本的Mapping-By-Code(代码映射)方式,为每个实体创建一个ClassMapping类,代码如下:

public class AuditableEntityMapping : ClassMapping<A> 
{

public AuditableEntityMapping()
{
Id(p => p.Id, map => map.Generator(Generators.Identity));
Property(p => p.CreatedBy, map => map.NotNullable(true));
Property(p => p.CreatedOn, map => map.NotNullable(true));
Property(p => p.UpdatedBy);
Property(p => p.UpdatedOn);
Property(p => p.RecStatus, map => { map.NotNullable(true); });
}

}

如果单独使用Nhibernate是没问题的,但是如果要将Spring.net整合进来作为框架的Ioc容器就不知道怎么进行整合扩展?

之前每个实体对应一个配置文件时,Spring配置文件中只需指定配置文件的命名空间即可。

<object id="NHibernateSessionFactory" type="Spring.Data.NHibernate.LocalSessionFactoryObject,Spring.Data.NHibernate">
<property name="DbProvider" ref="DbProvider"/>

<!--如果采用ClassMapping方式,这个地方该如何进行处理-->
<property name="MappingAssemblies">
<list>
<value>Spring.Northwind.Dao.NHibernate</value>
</list>
</property>
<property name="HibernateProperties">
<dictionary>
<entry key="hibernate.connection.provider" value="NHibernate.Connection.DriverConnectionProvider"/>
<entry key="hibernate.dialect" value="NHibernate.Dialect.MsSql2008Dialect"/>
<entry key="hibernate.connection.driver_class" value="NHibernate.Driver.SqlClientDriver"/>
<entry key="hibernate.hbm2ddl.auto" value="create"/>
<entry key="show_sql" value="false" />
</dictionary>
</property>
</object>

 

在网上找了很久,暂时也没找到解决方案,请博客园的老兄帮忙指点,不胜感激,谢谢!

xrksudy的主页 xrksudy | 初学一级 | 园豆:65
提问于:2012-02-08 09:30
< >
分享
最佳答案
0

使用Mapping-By-Code(代码映射)方式,还是需要生成hbm文件的

需要重写LocalSessionFactoryObject类的初始化方法

收获园豆:50
GuYoung | 菜鸟二级 |园豆:433 | 2012-02-13 16:58
其他回答(2)
0

找下官方文档看看

az235 | 园豆:8483 (大侠五级) | 2012-02-08 09:55
0

MappingAssemblies去掉,在Configuration的时候代码加入Conform映射就可以了

收获园豆:50
李永京 | 园豆:3114 (老鸟四级) | 2012-02-08 18:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册