如何在NHibernate中自动生成ID

吐司

如何使NHibernate自动生成表的唯一ID?ID可以是任何long值,只要每个ID仅使用一次即可。

我当前的映射如下所示:

<id name="Id">
    <generator class="increment"/>
</id>

这会创建从1开始的递增ID,但在每次应用程序启动时都会重置为1。因此,每次重新启动后,存储的第一个元素将获得Id 1,而先前的Id 1元素将被删除(不是我想要的)。

编辑:原因是我使用SchemaExport而不是SchemaUpdate,所以在每次应用程序启动时删除了我的整个数据库。

谢谢!

拉迪姆·科勒

有明确的文档部分。我建议使用HI-LO(请参阅什么是Hi / Lo算法?

5.1.5.1。发电机

增量

仅当没有其他进程将数据插入同一表时,才会生成唯一的唯一整数类型的标识符。不要在集群中使用。

身份

支持DB2,MySQL,MS SQL Server和Sybase中的标识列。使用Convert.ChangeType将数据库返回的标识符转换为属性类型。因此,支持任何整数属性类型。

顺序

使用DB2,PostgreSQL,Oracle中的序列或Firebird中的生成器。使用Convert.ChangeType将数据库返回的标识符转换为属性类型。因此,支持任何整数属性类型。

你好

给定一个表和一个列(分别默认为hibernate_unique_key和next_hi)作为hi值的源,使用hi / lo算法有效地生成任何整数类型的标识符。高/低算法生成仅对于特定数据库唯一的标识符。请勿将此生成器与用户提供的连接一起使用。

您可以使用“ where”参数来指定表中要使用的行。如果要使用单个表格作为标识符,而每个表具有不同的行,则此功能很有用。

seqhilo

在给定命名数据库序列的情况下,使用hi / lo算法高效地生成任何整数类型的标识符。

uuid.hex

使用System.Guid及其ToString(字符串格式)方法生成字符串类型的标识符。返回的字符串的长度取决于配置的格式。

uuid.string

使用新的System.Guid创建一个byte []并转换为字符串。吉德

使用新的System.Guid作为标识符。

guid.comb

使用算法生成Jimmy Nilsson在文章http://www.informit.com/articles/article.asp?p=25862中描述的新System.Guid

本国的

根据基础数据库的功能选择身份,序列或hilo。

已分配

允许应用程序在调用Save()之前为对象分配标识符。

外国的

使用另一个关联对象的标识符。通常与<one-to-one>主键关联一起使用

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JSP中创建自动生成的ID

来自分类Dev

如何在angular中创建自动生成的ID?

来自分类Dev

如何在SQL中像UID12345678一样自动生成唯一的ID?

来自分类Dev

如何在upsert中自动为嵌入式对象生成_id?

来自分类Dev

如何在NHibernate中获取具有ID的商品列表

来自分类Dev

如何在SQL INSERT期间自动生成ID?

来自分类Dev

如何在R中生成自动递增ID

来自分类Dev

Doctrine:如何在合并后获得自动生成的 id?

来自分类Dev

如何在 Loopback 4 (strongloop) 中的模型中使用属性并将其隐藏在 /explorer 中(Ej:自动生成的 ID)

来自分类Dev

如何在ExtJs中删除容器中的自动生成的Divs

来自分类Dev

RethinkDB如何生成自动ID?

来自分类Dev

如何获取在Django模型中自动生成的主键ID

来自分类Dev

如何删除包含自动生成的 ID 的文档中的数据

来自分类Dev

RavenDB中的自动生成的ID

来自分类Dev

在React中自动生成ID

来自分类Dev

如何在Netbeans中删除自动生成的注释?

来自分类Dev

如何在Symfony3中解析自动生成的类

来自分类Dev

如何在sharepoint中自动生成文件号?

来自分类Dev

如何在DataGrid中隐藏自动生成的列?

来自分类Dev

如何在ExtJs的容器中删除自动生成的Divs

来自分类Dev

如何在NerdTree中通过TypeScript隐藏自动生成的文件?

来自分类Dev

如何在unittest中自动生成测试用例编号?

来自分类Dev

如何在MStest中自动执行uni测试代码生成

来自分类Dev

如何在Dynamics NAV中自动生成pdf报告

来自分类Dev

如何在libre calc中自动生成日期

来自分类Dev

如何在css中定位自动生成的列表

来自分类Dev

如何在自动生成的 wpf DataGridCells 中设置绑定选项?

来自分类Dev

如何在 Swift 中自动生成的键上查询OrderedByValue?

来自分类Dev

如何在Excel中自动生成带字母的文本?

Related 相关文章

  1. 1

    如何在JSP中创建自动生成的ID

  2. 2

    如何在angular中创建自动生成的ID?

  3. 3

    如何在SQL中像UID12345678一样自动生成唯一的ID?

  4. 4

    如何在upsert中自动为嵌入式对象生成_id?

  5. 5

    如何在NHibernate中获取具有ID的商品列表

  6. 6

    如何在SQL INSERT期间自动生成ID?

  7. 7

    如何在R中生成自动递增ID

  8. 8

    Doctrine:如何在合并后获得自动生成的 id?

  9. 9

    如何在 Loopback 4 (strongloop) 中的模型中使用属性并将其隐藏在 /explorer 中(Ej:自动生成的 ID)

  10. 10

    如何在ExtJs中删除容器中的自动生成的Divs

  11. 11

    RethinkDB如何生成自动ID?

  12. 12

    如何获取在Django模型中自动生成的主键ID

  13. 13

    如何删除包含自动生成的 ID 的文档中的数据

  14. 14

    RavenDB中的自动生成的ID

  15. 15

    在React中自动生成ID

  16. 16

    如何在Netbeans中删除自动生成的注释?

  17. 17

    如何在Symfony3中解析自动生成的类

  18. 18

    如何在sharepoint中自动生成文件号?

  19. 19

    如何在DataGrid中隐藏自动生成的列?

  20. 20

    如何在ExtJs的容器中删除自动生成的Divs

  21. 21

    如何在NerdTree中通过TypeScript隐藏自动生成的文件?

  22. 22

    如何在unittest中自动生成测试用例编号?

  23. 23

    如何在MStest中自动执行uni测试代码生成

  24. 24

    如何在Dynamics NAV中自动生成pdf报告

  25. 25

    如何在libre calc中自动生成日期

  26. 26

    如何在css中定位自动生成的列表

  27. 27

    如何在自动生成的 wpf DataGridCells 中设置绑定选项?

  28. 28

    如何在 Swift 中自动生成的键上查询OrderedByValue?

  29. 29

    如何在Excel中自动生成带字母的文本?

热门标签

归档