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

休眠中的本机生成器类

江英卓
2023-03-14
问题内容

我有这部分的hibernate映射xml文件,我一直在寻找原生含义的好例子。

<hibernate-mapping>
 <class name="com.hib.Task" table="tasks">
  <id name="id" type="int" column="id" >
   <generator class="native"/>
  </id>

我知道这与唯一标识符属性有关,但是我真的很想举个例子。

对不起,对于新手问题,我是新来的休眠和一般编程:)谢谢!


问题答案:

本机意味着您的生成器将根据您当前的数据库支持使用身份或序列列。

Docs在这里解释了每种策略

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/mapping.html#mapping-
declaration-
id

本机

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

已分配

让应用程序在调用save()之前为对象分配一个标识符。如果未指定任何元素,则这是 默认策略

例如:在Mysql中,如果您具有主键列作为auto_increment,则数据库将使用此策略进行更新



 类似资料:
  • 问题内容: 任何人都知道一些有关如何为hibernate创建自定义ID生成器的好教程吗? 问题答案: 在Google上粗略搜索“hibernate自定义ID生成器教程”,发现了以下可能性。我排除了那些看起来没有用的内容,并总结了它们的内容。 http://www.devx.com/Java/Article/30396-涵盖了在数据保留之前生成ID(因此还没有业务密钥)的问题。 http://doc

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

  • 问题内容: 在这里hibernate新手。我正在研究一个简单的Hibernate映射文件。当我使用xml方法时,我将生成器类设置为Assigned。在分配员工ID之前,必须先检查某些逻辑,这样我才能自动生成它。 但是我也在研究注释类型,并且随着框架从配置文件移开,如今注释似乎已经成为现实。但是我找不到任何与分配值匹配的世代类型 这是否意味着分配时不需要添加任何序列生成器注释?谢谢 问题答案: 只需

  • 问题内容: 我想按数据库中的条件计数记录数。 我尝试使用下一个查询 但是没有方法可以执行此操作并获得结果。 我知道,我可以使用 所以问题是,查询是否具有更高的性能?如果,那么如何执行查询呢? 问题答案: 您可以通过调用来执行第一个查询,例如。 如果要将计数分配给变量,则需要将其转换为适当的类型(它可以取决于DB,但很可能是Long)。第二个查询效率很低,因为Hibernate需要从数据库中检索整个

  • 问题内容: 我的要求是将巨大的XML值保存到数据库。 在分析了几个选项之后,我最终确定了从巨大的xml生成实体bean类,然后使用hibernate对其进行持久化的过程。 我不选择创建hbm文件,而是选择hibernate注释。这样,我将使用JAXB从XSD生成Java类,并手动添加hibernate注释。 是否有任何eclipse插件或util框架可以使用默认的hibernate注释从XSD生成

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