Hibernate框架整合JPA注解基础实践

本文介绍了Hibernate框架如何整合JPA注解,包括@Entity、@Table、@Id、@GeneratedValue等注解的详细使用,并通过创建Java项目、设置数据库、定义POJO类、配置hibernate.cfg.xml文件以及进行JUnit测试,展示了JPA注解在实际操作中的应用。
摘要由CSDN通过智能技术生成

Hibernate框架整合JPA注解基础事件

1.JPA注解

  • Entity

    @javax.persistence.Entity(name=”xxx”)

    name指定实体Bean的名称,默认值为 bean class 的非限定类名,select o from xxx o where o.id=?1

  • Table

    @javax.persistence.Table(catalog=”xx”,name=”xx”,schema=”xx”,uniqueConstraints={UniqueConstraint(columnNames={“xx”,”xx”})})

name:指定表的名称
catalog:指定数据库名称
schema:指定数据库的用户名
uniqueConstraints:指定唯一性字段约束,如为personid 和name 字段指定唯一性约束
uniqueConstraints={ @UniqueConstraint(columnNames={“personid”, “name”})}

@Table标记表示所映射表的属性,该注释的属性定义如下:

@Target({TYPE}) 
@Retention(RUNTIME)   
public @interface Table {
    String name() default "";
    String catalog() default "";
    String schema() default "";
    UniqueConstraint[] uniqueConstraints() default {};
}

在使用此@Table标记时,需要注意以下几个问题。
此标记需要标注在类名前,不能标注在方法或属性前。
name属性表示实体所对应表的名称,默认表名为实体的名称。
catalog和schema属性表示实体指定的目录名或是数据库名,这根据不同的数据库类型有所不同。
uniqueConstraints属性表示该实体所关联的唯一约束条件,一个实体可以有多个唯一约束条件,默认没有约束条件。
若使用uniqueConstraints标记时,需要配合标记UniqueConstraint标记来使用。

  • Id

    @javax.persistence.Id()

    映射到数据库表的主键的属性,一个实体只能有一个属性被映射为主键.

  • GeneratedValue

    @javax.persistence.GeneratedValue(generator=”xxx”,strategy=GenerationType.AUTO)

    strategy:表示主键生成策略,有AUTO,INDENTITY,SEQUENCE 和 TABLE 4种
    分别表示让ORM框架自动选择,根据数据库的Identity字段生成,根据数据库表的Sequence字段生成,以有根据一个额外的表生成主键,默认为AUTO
    generator:表示主键生成器的名称,这个属性通常和ORM框架相关,例如,Hibernate可以指定uuid等主键生成方式.

例程:使用UUID作为数据库的主键类型

Hibernate UUID    
@Id   
@GeneratedValue(generator="s
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值