使用流畅的NHibernate和Oracle 11g自动生成的ID

时间:2013-12-18 15:43:58

标签: oracle oracle11g fluent-nhibernate

我在使用Fluent NHibernate插入记录时遇到问题。代码试图从KEY字段中不存在的序列中获取数字。

{“无法插入:[类名] [SQL:INSERT INTO Schema.TableName(KEY,ID)VALUES(hibernate_sequence.nextval,?)将KEY返回到:nhIdOutParam]”}

当然,数据库中不存在hibernate_sequence序列。如果我使用SQL Developer进行插入,请说:

INSERT INTO Schema.TableName(ID)VALUES(90);这是有效的,我的主键(KEY)是自动生成的。

我知道您可以使用序列来使用GenerateBY.Sequence()自动生成此值,但有没有办法使用关于使用Fluent Nhibernate的SQL语句插入记录?

我将我的类映射到我班上的主键,例如

Id(x => x.Id, "KEY");

1 个答案:

答案 0 :(得分:0)

使用它。它将插入除了Id之外的所有字段,这将允许Oracle为您设置它。

Id(x => x.Id, "KEY").GeneratedBy.Increment();