hibernate之注解

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

JPA与Hibernate的关系

  • JPA全称 Java Persistence API; JPA注解是javaee的规范与标准。
  • JPA 是标准的接口,hibernate是实现,但是hibernate功能更强大,是JPA 的超集。
  • hibernate通过三个组件来实现与jpa的关系;分别为hibernate-annotation hibernate-entitymanager hibernate-core组件。
  • 一般开发中,优先考虑用JPA注解,有利于程序的移植与扩展。

    hibernate注解的分类:

  • 类级别注解(@Entity实体类 @Table @Embeddable嵌入类)

  • 属性级别注解
  • 映射关系注解

hibernate.cfg.xml文档的回顾:
这里写图片描述

打开数据库的用户名,密码,驱动,数据库的URL地址,使用的方言,是否在结果中显示sql语句,是否格式化sql语句,是否创建,更新..表结构,与会话有关的配置。

类级别注解

@Entity 映射实体类, 对应数据库中的表。@Entity(name=”tablename”)(name 可选,对应数据库中的一个表,若表名与实体类名相同,则可以省略)
注意:使用@entity时,要指定实体类的主键属性

写完实体类后,要将它写入hibernate.cfg.xml中 语句为<mapping class="包名.类名">

测试 表结构 创建的例子

@Table(name=”“,catalog=”” ,schema=”“)
与@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息

name:可选,映射表的名称,默认表名和实体名称一致,只有在不一致的情况下才要指定表名
catalog: 表示目录, 可选,表示Catalog名称,默认为空
schema: 表示模式,可选,表示Schema名称,默认空。

schema与catalog:
这里写图片描述

描述本图:一个数据库可以包含多个目录(catalog),一个目录可以包含多个模式(schema),一个模式包含多个数据库对像

详情

不同数据库对schema和catalog的支持度不同]
a

mysql不支持catalog不用显示,schema默认为数据库名称

如图显示的结果,创建的表名前有hibernate表示模式
这里写图片描述

@Embeddable

表示非实体类,所以它不会映射成一张表,但可以嵌入到另一个实体类中作为属性而存在。

实例
本人也写有代码,在diyhibernate.demo.Student

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值