3
我们正在研究分布式的顺序标识生成器,它可以创建一个96位的数字标识。我们在应用程序中为此值工作的数据类型是decimal
。在数据库方面,该列的数据类型为decimal(28,0)
。设置十进制标识符的标度和精度
问题是,当我通过代码映射并配置Id时,我无法指定精度和缩放比例。理想情况下,我会想是这样的:
map.Id(c => c.Id, id =>
{
id.Generator(RustFlakeGeneratorDef.Instance);
id.Precision(28); // nope
id.Scale(0); // nope. *$%!
});
如果我尝试和忽略,NHibernate的回落创建参数时使用decimal(28,5)
并发出命令,将无法正常工作。
我知道有一个ticket,如果我想在适当的时间做出贡献。与此同时,我需要看看这是否会泛滥,所以我想知道是否有任何解决方法。自定义类型,破解反序列化的HBM,类似的东西?
我确实尝试创建自己的类型,该类型来自DecimalType
,并且我覆盖返回SqlType
的属性,其中我指定了我自己的精度和比例,但似乎没有做任何事情。