2011-12-05 25 views
0

有沒有人知道在Oracle數據庫上,NHibernate 3.2的loquacious配置是否支持觸發序列id方案。NHibernate 3.2 | Oracle |的觸發器序列標識Loquacious config

我已經嘗試序列和本機作爲發電機爲我的id。但它不支持我的id由Oracle上的before觸發器生成的場景。

有了這兩個生成器,NHibernate嘗試使用「Select Sequence.Next From Dual」調用來推送ID。

感謝 菲爾

+0

在所有誠實的NH內置配置的東西很臭。如果你只能使用NH 3.1(現在是我的理解),你會更好地觀看Fluent NH。 –

回答

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; } 
    } 
} 
+0

你剛剛救了一天! –