由于历史原因,在Oracle数据库里面有很多Guid类型。问题:
1. Guid字段在Oracle里面应该是什么类型?(char(38) 还是 raw(16)?)
2. 在NHibernate 里面应该怎么写?(其实我是用的Castle的ActiveRecord,基于NHibernate。最好有例子)
我试了不同的写法,都报类型转换错误。
谢谢各位大侠啦。
这个可以问一下李永京
http://home.cnblogs.com/lyj/
不好意思啊,我现在没弄过Oracle,都用的是MsSQL
Oracle是RAW(16)
使用Guid即可,也可以使用2.1新增的guid.native。允许使用数据库管理系统的native函数产生的GUID 。与“序列(sequence)”生成器相似:当保存一个新的对象时候NH执行两个查询;首先查询GUID值,然后在使用数据库管理系统生成的GUID插入实体。实体主键的类型是System.Guid。
<id name="id">
<generator class="guid.native"/>
</id>
在Oracle下运行结果如下: