hbm2java注解_Hibernate注解(一)类级别注解

1、Hibernate注解简介

2、JPA与Hibernate的关系

3、Hibernate注解分类

4、@Entity

5、@Table

6、@Embeddable

7、schema与catalog

一、Hibernate注解简介

使用注解的目的:为了简化繁琐的ORM映射文件(*.hbm)的配置

二、JPA与Hibernate的关系

2.1、什么是JPA?

全称Java Persistence API,Java持久化API

JPA注解是JAVAEE的规范和标准

2.2、JPA与Hibernate的关系

JPA是标准接口,Hibernate是实现,但是其功能是JPA的超集。

2.3、Hibernate如何实现与JPA的关系?

通过hibernate-annotation、hibernate-entitymanager和hibernate-core三个组件来实现。

一般在实际开发中,优先考虑使用JPA注解,这样更有利于程序的移植和扩展。

三、Hibernate注解分类

类级别注解

属性级别注解

映射关系注解

四、类级别注解

@Entity

@Table

@Embeddable

五、类级别注解之准备工作

5.1、新建一个Java工程,加入Hibernate的相关jar包

0f87e6a82d56?utm_source=oschina-app

5.2、加上数据库驱动和junit的jar包

0f87e6a82d56?utm_source=oschina-app

5.3、创建Hibernate的配置文件

0f87e6a82d56?utm_source=oschina-app

六、@Entity

6.1、@Entity:映射实体类

6.2、@Entity(name="tableName"):name可选,对应数据库中的一个表,若表名与实体类名相同,则可以省略。

注意:使用@Entity时必须制定实体类的主键属性

(1)创建实体类

0f87e6a82d56?utm_source=oschina-app

(2)把它配置到hibernate的配置文件中

0f87e6a82d56?utm_source=oschina-app

(3)创建一个test源包,编写student的测试类,输出表结构

0f87e6a82d56?utm_source=oschina-app

(4)表结构如下

0f87e6a82d56?utm_source=oschina-app

(5)假如我指定了Entity的name属性为t_student

0f87e6a82d56?utm_source=oschina-app

(6)生成的表就是t_student

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

七、@Table

@Table(name="",catalog="",schema="")

(1)必须与@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息。

(2)name:可选,映射表的名称,默认表名和实体名称一致,只有在不一致的情况下才需要指定表名。

(3)catalog:可选,目录名,默认为空。

(4)schema:可选,模式,默认为空。

Table注解中schema(模式)与catalog(目录)的对比图. 一个数据库对应多个catalog,一个catalog对应一个schema,一个schema对应多个表、视图、字段。

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

八、@Embeddable

1、@Embeddable表示一个非Entity类可以嵌入到另一个Entity类中作为属性而存在。

2、@Embeddable不生成独立的表,可以理解@Embeddable注解类为属性集。

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

0f87e6a82d56?utm_source=oschina-app

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值