`

hibernate配置文件 中 <generator> 节点 的 class 属性

阅读更多
在*.hbm.xml必须声明的<generator>子元素是一个Java类的名字,用来为该持久化类的实例生成唯一的标识。

<generator class="sequence"/>

这是一个非常简单的接口;某些应用程序可以选择提供他们自己特定的实现。当然,Hibernate提供了很多内置的实现。下面是一些内置生成器的快捷名字:

increment(递增)

    用于为long, short或者int类型生成唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群(什么是集群?)下不要使用。
identity

    对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。返回的标识符是long, short 或者int类型的。
sequence (序列)

    在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence),而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。
hilo (高低位)

    使用一个高/低位算法来高效的生成long, short或者 int类型的标识符。给定一个表和字段(默认分别是是hibernate_unique_key 和next_hi)作为高位值得来源。高/低位算法生成的标识符只在一个特定的数据库中是唯一的。在使用JTA获得的连接或者用户自行提供的连接中,不要使用这种生成器。
seqhilo(使用序列的高低位)

    使用一个高/低位算法来高效的生成long, short或者 int类型的标识符,给定一个数据库序列(sequence)的名字。
uuid.hex

    用一个128-bit的UUID算法生成字符串类型的标识符。在一个网络中唯一(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。
uuid.string

    使用同样的UUID算法。UUID被编码为一个16个字符长的任意ASCII字符组成的字符串。不能使用在PostgreSQL数据库中
native(本地)

    根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
assigned(程序设置)

    让应用程序在save()之前为对象分配一个标示符。
foreign(外部引用)

    使用另外一个相关联的对象的标识符。和<one-to-one>联合一起使用。

分享到:
评论

相关推荐

    hibernate配置文件详解

    &lt;generator class="native" /&gt; &lt;/id&gt; &lt;property name="name" column="name" /&gt; &lt;property name="price" column="price" /&gt; &lt;!-- 一对多关联关系 --&gt; &lt;set name="cities" table="cities" inverse="true"&gt; &lt;key...

    Hibernate关联关系配置

    在这个配置文件中,`&lt;many-to-one&gt;`元素指定了订单与消费者之间的一对多关系。`class`属性指定了一对一关联的另一端实体类型,`column`属性则指定了外键字段。 #### 三、自身一对多关系配置示例 自身一对多关系是...

    hibernate配置

    &lt;generator class="assigned"&gt;&lt;/generator&gt; //数据库中的主键生成策略 &lt;/id&gt; &lt;property name="数据库中表的其它字段所对应的持久化对象中的属性名" column="对应数据库中表的其它字段名" type="java.lang....

    Hibernate配置文件[文].pdf

    - `&lt;generator class="native"&gt;&lt;/generator&gt;`:使用`native`策略,让Hibernate根据数据库类型自动选择主键生成方式。 在查询操作中,可以使用HQL(Hibernate Query Language)或Criteria API。例如,使用HQL查询...

    Hibernate选择题(含答案).doc

    4. 在配置文件中,`&lt;mapping resource&gt;`用来加载映射文件,`&lt;class&gt;`节点的`name`属性对应的是Java类名,而非数据表名;`&lt;id&gt;`节点定义了实体的主键,`&lt;generator&gt;`用于指定主键生成策略。 5. 如果Hibernate代码没有...

    hibernate映射关系讲解

    &lt;generator class="assigned"/&gt; &lt;/id&gt; &lt;property name="name" type="java.lang.String" column="NAME"/&gt; &lt;one-to-one name="idCard" class="com.example.IdCard" cascade="all"/&gt; &lt;/class&gt; &lt;/hibernate-mapping...

    基于Hibernate中配置文件的学习(分享)

    这里的`&lt;class&gt;`节点对应数据库中的一个表,`&lt;id&gt;`和`&lt;property&gt;`节点分别代表主键和非主键字段。`name`属性对应实体类的属性名,`column`属性对应数据库表的列名。`&lt;generator&gt;`节点定义了主键生成策略,`native`...

    ssh(structs,spring,hibernate)框架中的上传下载

    8. <generator class="uuid.hex"/> 9. </id> 10. <property name="fileContent" 11. type="org.springframework.orm.hibernate3.support.BlobByteArrayType" 12. column="FILE_CONTENT" lazy="true"/> 13. …/...

    hibernate配置元素例子.txt

    这里的`hibernate-mapping`元素是整个配置文件的根节点,包含了关于实体类映射的所有信息。 ##### 2. 实体类映射 在`hibernate-mapping`元素内部,使用`class`元素来定义具体的实体类映射规则。 ```xml &lt;class ...

    Hibernate中主键生成策略

    在映射文件中,可以使用`&lt;generator class="sequence"&gt;`,而在注解中使用`@GeneratedValue(strategy = GenerationType.SEQUENCE)`。 3. **Table策略**: 这个策略使用一个单独的表来管理主键生成。在Hibernate中,...

    EJB对象关系数据库映射.pdf

    在Hibernate映射文件中,通过`&lt;id&gt;`标签来定义主键映射。 #### 六、数据类型映射 Hibernate提供了丰富的数据类型映射机制,支持将Java中的基本类型和复杂类型映射到数据库中的相应字段类型。例如,Java中的`String...

    java的树形菜单。

    接下来,我们需要配置Hibernate的映射文件,将`Menu`类与数据库中的相应表进行关联。这通常涉及编写一个`.hbm.xml`文件,定义实体类和表之间的映射规则,包括字段对应、主键生成策略等。例如: ```xml &lt;hibernate-...

    hibernate_reference

    - **5.1.1 文档类型**:使用`&lt;hibernate-mapping&gt;`元素作为映射文件的根节点,指定版本号和命名空间等信息。 - **5.1.1.1 EntityResolver**:配置EntityResolver来处理DTD或Schema的解析。 - **5.1.2 hibernate-...

    常用 Hibernate 映射配置说明.doc

    `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库连接细节、默认的映射策略等。 - **schema**: 定义了数据库的Schema名称...

    深入浅出Hibernate

    &lt;generator class="native"/&gt; &lt;/id&gt; &lt;property name="age" type="java.lang.Integer"/&gt; &lt;property name="name" type="java.lang.String" column="name"/&gt; &lt;/class&gt; &lt;!-- 显示多态关系的声明 --&gt; &lt;class ...

    Hibernate基础教程

    - `&lt;hibernate-mapping&gt;`标签:定义映射文件的根节点。 - `&lt;class&gt;`标签:用于映射Java实体类。 - `&lt;id&gt;`标签:定义主键字段的映射规则。 - `&lt;property&gt;`标签:映射类中的属性到数据库表的字段。 - `&lt;generator&gt;`...

    hibernate缓存策略

    2. **配置缓存插件**:在Hibernate配置文件中指定缓存插件,并对其进行相应的配置。 3. **实体缓存配置**:为特定实体配置缓存策略,可以选择哪些实体启用缓存以及采用何种缓存策略。 #### 示例代码 假设我们想...

    hibernate_reference3.2.1

    - **hibernate-mapping元素**:定义映射文件的根节点。 - **class元素**:描述如何映射一个类到数据库表。 - **id元素**:指定主键的生成策略。 - Generator:主键生成器的类型。 - Hi/lo算法:一种简单的主键生成...

    表生成器 @TableGenerator

    `@TableGenerator` 是Hibernate(一个流行的JPA实现)中的一个注解,它允许开发者定义一个数据库表来存储生成的ID序列,而不是依赖数据库自带的序列或者主键自增功能。这在分布式系统或多数据库环境中有其优势,因为...

    Java学习笔记-个人整理的

    {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {...

Global site tag (gtag.js) - Google Analytics