<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.ko.pp.entity.InputUserInfo" table="Input_User_Info" schema="dbname">
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="sequence">
<!--采用Oracle的Sequence机制-->
<param name="sequence">INPUT_USER_INFO_SEQ</param>
</generator>
</id>
<property name="name" type="string">
<column name="NAME" length="20" />
</property>
<property name="certno" type="string">
<column name="CERTNO" length="30" />
</property>
<property name="nationality" type="string">
<column name="NATIONALITY" length="20" />
</property>
<property name="gender" type="string">
<column name="GENDER" length="1" />
</property>
<property name="identity" type="string">
<column name="IDENTITY" length="20" />
</property>
<property name="srvcls" type="string">
<column name="SRVCLS" length="20" />
</property>
</class>
</hibernate-mapping>
分享到:
相关推荐
4. ** Sequence **:使用数据库序列来生成ID,常见于Oracle和PostgreSQL。Hibernate中通过`@GeneratedValue(strategy = GenerationType.SEQUENCE)`和`@SequenceGenerator`进行配置。 5. ** Table **:通过一个专门...
在上述映射文件中,`Department`实体的主键属性`id`被指定使用`sequence`生成器。通过`<param name="sequence">DEPARTMENT_ID_SEQ</param>`指定了Oracle中已创建的序列名`DEPARTMENT_ID_SEQ`。这意味着每次创建新的`...
虽然`<param name="sequence">CREDIT_RECORD_id</param>`在这个上下文中并不生效,但其含义是在使用特定于Oracle的sequence策略时指定序列名。实际上,在使用“native”策略时,Hibernate会根据当前数据库环境自动...
Hibernate通过`org.hibernate.id.SequenceGenerator`类来实现序列主键生成器。在`nextValue()`方法中,它会与数据库进行交互,获取序列的下一个值。这个过程涉及到JDBC操作,包括SQL的执行和结果的处理。 3. **...
JAVA ID生成策略是一种在Hibernate框架中使用的策略,用于生成实体类的主键值。这种策略在Annotation情况下,主要有三种方式生成主键值。 第一种方式是使用数据库的自动增长字段生成。这种方式使用@GeneratedValue...
- **应用场景**:在 Oracle 数据库中常见,因为 Oracle 不支持自增字段,而 Sequence 是一种高效的解决方案。 #### 5. Identity - **描述**:利用 SQL Server 和 MySQL 的 AUTO_INCREMENT 特性自动为字段分配下一...
increment策略由Hibernate在内存中自增生成主键,不依赖于数据库。它通过查询当前表的最大ID值,然后在内存中递增生成新的主键。由于这个过程不是线程安全的,因此在多JVM环境下可能会导致主键冲突。仅适用于单个...
- **定义**:Hibernate会根据当前使用的数据库类型自动选择最适合的主键生成策略(如identity、hilo、sequence)。 - **应用场景**:适用于跨数据库平台的应用开发,可以避免因为数据库不同而导致的代码修改。 8....
值得注意的是,在某些数据库如Oracle中,虽然不直接支持`IDENTITY`关键字,但可以通过其他方式来实现类似的自增ID生成机制。 #### 2. Sequence(序列) `Sequence`是一种适用于支持序列操作的数据库系统(如DB2和...
在Hibernate中,`Generator`是负责生成主键值的策略,通常在`<id>`元素中通过`class`属性指定。不同的数据库和不同的应用场景可能需要不同的生成策略。接下来,我们将逐一介绍各种常见的生成策略及其适用场景。 ###...
- **描述**:这是一个特殊的策略,结合了`sequence`和`identity`的特点,在某些数据库(如Oracle)中使用JDBC 3的`getGeneratedKeys`方法来获取生成的主键值。 - **应用场景**:适用于需要高效生成主键且支持JDBC 3...
JPA提供了多种策略,如 AUTO(让数据库自动生成,例如自增ID)、TABLE(通过特定的数据库表生成)、IDENTITY(数据库自动生成,比如MySQL的自动增长)、SEQUENCE(基于数据库序列,适用于Oracle等支持序列的数据库)...
id 算法可以是整型自增、sql server 等数据库的 identity、Oracle 的 sequence、hilo(高低位)算法、uuid、guid、程序赋值等。复合主键可以组合多个列来唯一标识一个对象。数据版本并发性控制可以使用版本、时间戳...
Native主键生成策略是由Hibernate根据使用的数据库自行判断采用identity、hilo、sequence其中一种作为主键生成方式。这种策略灵活性很强,可以根据数据库自动选择主键生成方式。 例子:<id name="id" column="id">...
而Hibernate提供了跨数据库的主键生成策略,例如`native`策略,它会根据底层数据库自动选择合适的主键生成方式(如MySQL的自动增长ID或Oracle的序列)。 在JPA中,通过`@GenericGenerator`注解可以定义主键的生成...
如果你的项目使用了JPA(Java Persistence API)或者其实现之一,如Hibernate,那么可以定义一个带有@Id注解的字段,并设置生成策略为`GenerationType.SEQUENCE`。例如,使用Hibernate: ```java @Entity public ...
- **dialect**: 指定了Hibernate使用的方言,它告诉Hibernate如何处理特定数据库的SQL语法差异。 - **MySQL**: `org.hibernate.dialect.MySQLDialect` - **Oracle**: `org.hibernate.dialect.Oracle9Dialect` - *...
6. **sequence**:使用数据库Sequence机制,适合Oracle等数据库。 7. **native**:由Hibernate自动选择identity、hilo或sequence之一。 8. **uuid.hex**:生成16进制的UUID作为主键。 9. **uuid.string**:生成未...