休眠生成器标签

时间:2010-07-29 09:49:55

标签: nhibernate-mapping

生成器标记的hibernate映射文件中“native”的确切目的是什么 (我知道使用genarator标签,它会创建主键值...)

            ....... ..........

2 个答案:

答案 0 :(得分:1)

它使用最适合数据库的生成策略。来自hibernate docs

  

原生 - 选择身份,序列或希洛   取决于的能力   基础数据库。

这是必要的原因是没有所有数据库共有的身份类型。在数据库甚至不支持int / long身份类型的情况下,需要hi / lo生成策略,这是一个由hibernate生成的id。

如果您知道正在使用的特定数据库,则可以命名要使用的特定标识符生成方案。但是对于跨数据库开发,使用native意味着应用程序有更多机会在不同的dbs中移植。

答案 1 :(得分:0)

native表示数据库的均值用于生成主键值。例如。 Oracle 10g中的序列和mysql的AUTO_INCREMENT。

希望有所帮助..