类级别注解
1、使用注解的目的:为了简化繁琐的ORM映射文件(*.hbm)的配置
2、JPA与Hibernate的关系
.什么是JPA?(全称Java Persistence API(java持久化的API接口));JPA注解是JAVAEE的标准和规范
.JPA 是标准接口,Hibernate是实现,但是其功能是JPA的超集。
.Hibernate通过hibernate-annotation,hibernate-entitymanager,hibnernate-core三个组件来实现JPA。
.一般在实际开发中,优先考虑使用JPA注解,这样更有利与程序的移植和扩展。
3、Hibernate注解的分类
类级别的注解,属性级别注解,映射关系注解
类级别的注解.@Entity——表示实体类(一个实体类对应数据库中的一张表)
类级别的注解.@Table
类级别的注解.@Embeddable——表示它是嵌入类
类级别的注解.Schema 和 catalog
5、Hibernate类级别注解之@Entity注解
6、Hibernate类级别注解之@Table注解
从实现的角度来看,各种数据库系统对Catalog和Schema的支持和实现方式千差万别的。
7、Hibernate类级别注解之@Embeddable注解
属性级别注解
1、添加方式
一是写在属性字段上面;二是写在属性的get访问器的上面
2、注解分别有 (加粗的)
@Id、@SequenceGenerator、@GeneratedValue、@Column、@Embedded、@EmbeddedId、@Lob、@Version、@Basic、@Transient
3、Hibernate属性级别注解之@Id注解
Ps1:对于复合主键,实体类必须实现serializable接口(声明式接口,不需要实现任何方法)。
Ps2:将 String类型 的属性设置成主键是一定要指定该属性的长度,可以用 Column( length=8) 注解来指定,不然 MySQL 会默认让其长度为255,而 MySQL 主键的长度不允许太长。(即使,Ps1成功实现,但是如果Ps2不通过,即使Junit变为绿条,表也创建不成功)
4、Hibernate属性级别注解之@GeneratedValue注解
String类型做主键,@GenericGenerator()
5、Hibernate属性级别注解之@Column注解
6、Hibernate属性级别注解之@Embedded注解
7、Hibernate属性级别注解之@EmbeddedId注解
8、Hibernate属性级别注解之@Transient注解
Hibernate关联映射注解
1、Hibernate关联映射注解之实体之间的关系
2、Hibernate关联映射注解之 一对一 单向 外键关联
3、Hibernate关联映射注解之 一对一双向 外键关联
4、Hibernate关联映射注解之一对一单向外键联合主键
5、Hibernate关联映射注解之多对一单向外键关联
6、Hibernate关联映射注解之一对多单向外键关联
7、Hibernate关联映射注解之一对多双向外键关联
8、Hibernate关联映射注解之 多对多 单向外键关联
9、Hibernate关联映射注解之 多对多双向 外键关联