hibernate之注解
来源:互联网 发布:淘宝上代购药品 编辑:程序博客网 时间:2024/06/10 23:26
使用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的支持度不同]
mysql不支持catalog不用显示,schema默认为数据库名称
如图显示的结果,创建的表名前有hibernate表示模式
@Embeddable
表示非实体类,所以它不会映射成一张表,但可以嵌入到另一个实体类中作为属性而存在。
实例
本人也写有代码,在diyhibernate.demo.Student
- 【hibernate】 hibernate 注解之 SequenceGenerator
- HelloWorld之Hibernate注解
- hibernate注解 之 时间
- hibernate之注解
- Hibernate注解之@Enumerated
- Hibernate注解之@ManyToMany
- Hibernate注解之Entity
- hibernate之注解
- hibernate之注解2
- hibernate之注解3
- hibernate annotation 之 注解声明
- hibernate annotation 之 注解声明
- Hibernate注解(一)之@GeneratedValue
- hibernate注解开发之@GeneratedVlue
- hibernate之注解开发(04)
- hibernate注解之@Temporal简单用法记录
- Hibernate配置EhCache缓存之annotation注解
- hibernate注解的实现原理之1
- 【数据结构】二叉树之堆排序(完整代码)
- BOOST库之format
- 开始写博客第一天 为了敲代码 为了学习 我希望在这里记录下我的学习历程 也是我坚持敲代码的一个支柱吧
- 旧题再做【bzoj2287】【[pojchallenge]消失之物】分治背包
- Java随记(二)上转型对象
- hibernate之注解
- Python程序设计—车万翔
- 全排列算法【非递归活动数实现】
- Android学习-认识Activity
- 课本简单程序执行
- 责任链模式
- JQuery Ajax 参数含有特殊字符
- 桌面许多快捷方式图标/文件左下角出现绿色对号小图标
- 学习机器学习前的准备