import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.MappedSuperclass; import org.hibernate.annotations.GenericGenerator; @MappedSuperclass public abstract class AbstractEntity implements Entity { private static final long serialVersionUID = -1L; @Id @GenericGenerator(name = "systemUUID", strategy = "uuid") @GeneratedValue(generator = "systemUUID") @Column(name = "id", insertable = true, updatable = true, nullable = false) private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } }
通过注解,可以通过hibernate实现实体类的VARCHAR类型主键自动生成UUID。
相关推荐
在Hibernate中,我们可以通过定义主键生成策略来实现UUID的使用。具体做法是在实体类的主键字段上使用`@GeneratedValue`和`@GenericGenerator`注解: ```java import javax.persistence.Entity; import javax....
`Identity`是一种常见的自增主键生成策略,在MySQL、DB2以及MS SQL Server等数据库系统中均有支持。它能够为每一行记录生成一个唯一的ID值。例如,在MySQL中创建一个表时可以这样定义: ```sql CREATE TABLE t_user...
主键生成策略包括assigned、hilo、seqhilo、increment、identity、sequence、native、uuid.hex和foreign,根据不同的数据库特性和需求选择合适的策略。 - **复合主键映射**:当需要多个字段共同构成主键时,可以...
在这个例子中,`@Entity`注解表明`User`类是一个数据库表的映射,而`@Id`和`@GeneratedValue`注解则定义了主键`id`,它的生成策略是自动递增。 接下来,我们需要配置Hibernate以连接到我们的数据库。这通常通过`...
6. **设置主键策略**:选择主键的生成策略,如UUID等。 7. **设置类名与表名对应关系**:为每个生成的实体类设置对应的数据库表名。 8. **完成生成过程**:点击“完成”按钮后,返回MyEclipse视图查看生成的文件。...
`@Id`注解标识了主键,`@GeneratedValue`则用于指定主键生成策略。 如果选择XML映射文件,那么对应的映射将在`*.hbm.xml`文件中完成,如: ```xml <hibernate-mapping> <id name="id"> </id> <!-- ... --...
- **作用**:配置Hibernate特有的主键生成策略。 - **属性说明**: - **name**:生成器的名称。 - **strategy**:具体的生成策略。 - **parameters**:特定策略所需的参数。 - **策略说明**: - **native**:...
这些资料为初学者提供了关于Hibernate与数据库交互的基础知识,特别是在配置文件设置、主键生成策略以及数据类型的选择方面给出了实用的指导。对于希望深入了解Hibernate及其与不同数据库系统集成的人来说,这些都是...
- **uuid:** 根据UUID算法生成一个字符串类型的主键值,适用于主键类型为varchar类型。 - **hilo:** 采用高低位算法生成一个数值类型的主键值。 - **foreign:** 使用另一个相关联对象的属性值充当主键值,适用...
例如,`Customer.hbm.xml`文件中,`<class>`元素指定了对应的Java类和数据库表,`<id>`元素映射了OID,而`<generator>`子元素定义了自动增长的主键生成策略。`<property>`元素则对应了类中的属性,如name、email、...
4. **配置主键生成策略**:选择ID生成器为“increment”,意味着主键`Id`由数据库自动生成。 5. **调整类名和字段名**:根据需要调整生成的Java类和字段名称,使它们更符合命名规范或业务需求。 6. **完成配置**:...
这里使用了`hilo`主键生成策略,这是一种基于Hi/Lo算法的生成器,适用于多用户环境,可以避免并发问题。`generator`元素内的`class`属性指定了主键生成器的类型,`param`元素则提供了生成器所需的配置参数。 除了`...
6. **标识符生成策略**:Hibernate提供了多种主键生成策略,如@TableGenerator、@SequenceGenerator、@GeneratedValue(IDENTITY、AUTO、SEQUENCE、TABLE),其中.AUTO策略依赖于数据库的自动增长功能,可能不适合...
`native`策略是一种通用的方法,它允许Hibernate根据底层数据库的特性选择最适合的主键生成策略。例如,在Oracle数据库中,默认使用`hibernate_sequence`序列。 ```xml <id name="id" column="id"> </id> ``` ##...
选择不同的主键生成策略。 - **5.1.4.2 Hi/Lo算法** 一种简单高效的主键生成算法。 - **5.1.4.3 UUID算法** 使用UUID作为主键值。 通过上述内容的详细介绍,我们不仅可以了解到Hibernate的基本使用方法,还...
例如,如果数据库中的`id`字段是`VARCHAR`类型,则应将程序中对应的主键生成策略设为`JDK-UUID`,并确保数据类型的兼容性。 #### 五、Tomcat 405 错误 如果应用部署到Tomcat后出现405错误(请求方法不被允许),...