我在我的代码中有这个映射:
News.hbm.xml:
<class name="xyz.News" table="XYZ_NEWS">
<id name="id" column="NEWS_ID">
<generator class="native"/>
</id>
rest of mapping
</class>
我正在使用Oracle数据库.Hibernate文档告诉我:
native - 根据底层数据库的功能选择identity,sequence或hilo
这对Oracle意味着什么?
编辑: 我现在知道它使用序列.序列的名称是我感兴趣的.
它需要序列.您需要提供序列名称.
编辑:如果未提供名称,将使用名为HIBERNATE_SEQUENCE的序列.
看代码,它让方言决定.方言实施这样的决定:
// Dialect.cs Line 231
public virtual System.Type NativeIdentifierGeneratorClass
{
get
{
if (SupportsIdentityColumns)
{
return typeof(IdentityGenerator);
}
else if (SupportsSequences)
{
return typeof(SequenceGenerator);
}
else
{
return typeof(TableHiLoGenerator);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它不会被Oracle覆盖.Oracle不支持身份,但支持序列.
| 归档时间: |
|
| 查看次数: |
22515 次 |
| 最近记录: |