NHibernate 3.2 | Oracle的触发序列标识Loquacious配置

时间:2011-12-05 15:39:41

标签: oracle nhibernate

有没有人知道在Oracle数据库上使用NHibernate 3.2的loquacious配置是否支持触发序列id场景。

我尝试将序列和原生作为我的id的Generators。但它不支持我的id由Oracle上的before触发器生成的场景。

使用这两个生成器,NHibernate尝试使用“Select Sequence.Next From Dual”调用来推送ID。

由于 菲尔

1 个答案:

答案 0 :(得分:3)

您只需要实施IGeneratorDef。类似的东西:

public class TriggerIdentityGeneratorDef : IGeneratorDef
{
    public string Class
    {
        get { return "trigger-identity"; }
    }

    public object Params
    {
        get { return null; }
    }

    public Type DefaultReturnType
    {
        get { return typeof (int); }
    }

    public bool SupportedAsCollectionElementId
    {
        get { return true; }
    }
}