当前位置: 首页 > 面试题库 >

休眠ID生成器

司马弘益
2023-03-14
问题内容

任何人都知道一些有关如何为hibernate创建自定义ID生成器的好教程吗?


问题答案:

在Google上粗略搜索“hibernate自定义ID生成器教程”,发现了以下可能性。我排除了那些看起来没有用的内容,并总结了它们的内容。

  • http://www.devx.com/Java/Article/30396-涵盖了在数据保留之前生成ID(因此还没有业务密钥)的问题。
  • http://docs.jboss.org/hibernate/core/3.6/reference/zh-CN/html_single/#mapping-declaration-整个文档非常有用,但并没有作为参考的教程。查看其他教程时非常理想。
  • http://www.javaworld.com/javaworld/jw-08-2008/jw-08-hibernate-annotations.html显示了如何使用注释来设置模式(包括自动生成的值)。

希望能有所帮助。



 类似资料:
  • 问题内容: 我的实体如下。我的数据模型在下面强制执行,因此我无法更改引用的完整性。因此,我陷入了复合键的困境。我想自动生成/使用一些生成器作为orderId 是的,我已经阅读以下内容。 http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#entity- mapping- identifier 我不想管理

  • 问题内容: 尝试将Hibernate与SAP HANA内存数据库连接时遇到一些性能问题,该数据库不支持AUTO_INCREMENT(http://scn.sap.com/thread/3238906)。 因此,我将Hibernate设置为使用序列进行ID生成。 但是,当我插入大量记录(例如40000)时,Hibernate首先会生成ID。看起来像: 并且只有在生成所有ID之后,它才开始实际插入。

  • 问题内容: 这将创建以下架构: 观察:当我将序列设置为1时,第一个自动生成的是。当我将值设置为时,第一个ID为。 于是,不知何故该序列的当前valuze总是得到 成倍 的。为什么?如何防止这种情况,而只使用序列中的nexval? 问题答案: 此行为来自其参数的默认值50 。您可以根据需要进行更改: 这是出于性能原因。它允许Hibernate预订ID块,并防止每次需要新ID时都询问数据库。

  • 问题内容: 嗨,我编写了这样的代码 但是我从DAO手动设置了它,例如“ e.setUserID(01);”。否则将不插入行是否有任何过程来获取ID值并检索自动生成的值。我想我会得到一些帮助 问题答案: 采用

  • 问题内容: 我的数据库是Oracle,我的id列值是Oracle序列,此序列由触发器执行,因此,在插入每一行之前,此触发器使用此序列来获取id值。因此,我对应该在实体类中定义哪个id策略生成感到困惑。 要么 要么 真的很困惑,有人可以阐明这个话题吗?请清楚解释。 问题答案: 我还有一个projet,其中有一个Oracle DB将数据提供给我的@Entity类。如您所说,序列通过触发器生成表PK的I

  • 问题内容: 我有这部分的hibernate映射xml文件,我一直在寻找原生含义的好例子。 我知道这与唯一标识符属性有关,但是我真的很想举个例子。 对不起,对于新手问题,我是新来的休眠和一般编程:)谢谢! 问题答案: 本机意味着您的生成器将根据您当前的数据库支持使用身份或序列列。 Docs在这里解释了每种策略 http://docs.jboss.org/hibernate/orm/3.3/refer