【极客营】Hibernate JPA注解开发-单表常用注解
作者:何征天
课程视频地址:https://ke.qq.com/course/273907
jpa是sun公司的一个ORM规范,只有接口和注解,没有具体实现。
jpa是EJB3中的子规范。
hibernate中有两套注解规范:一套jpa,一套自己的;
使用注解开发,效率高!
1.1. 单表常用注解
第一步:建立实体
package cn.igeek.demo2;
import javax.persistence.Entity; import javax.persistence.Id;
//实体类 @Entity//指定该po对象为实体对象,对应表,注意引入的包名为javax.persistence.Entity publicclass Book { @Id//指定该字段是主键,注解也可以写在getter方法上 private Integer id; private String name; private Double price; //省略getter和setter方法 } |
第二步:Hibernate.cfg.xml配置映射:
<!-- 关联xml配置文件,注解方式配置 --> <mapping class="cn.igeek.demo2.Book"/> |
第三步:在cn.igeekdemo2下新建测试类TestAnnotation:
package cn.igeekdemo2;
import org.junit.Test;
import cn.igeekutil.HibernateUtils;
publicclass TestAnnotation { @Test publicvoid run1(){ HibernateUtils.getCurrentSession(); } } |
第四步:测试
【推荐标准最小化配置】:
更多常用注解注解
实体和表本身相关:
//实体类 @Entity//指定该po对象为实体对象,对应表,注意引入的包名为javax.persistence.Entity @Table(name="t_book",catalog="hibernate_day04") publicclass Book { |
主键相关的:
Auto相当与native,默认值
自定义主键策略(下面使用hibernate的实现):
测试
@Test publicvoid run2(){ Session session = HibernateUtils.getCurrentSession(); Transaction tr = session.beginTransaction();
Book book = new Book(); book.setName("锋利的jquery"); book.setPrice(18.8);
session.save(book); tr.commit(); } |
其他字段相关的:
属性字段官方参考配置:
【较完整配置】:
【补充】:
注解:可以放到属性声明上面设置,也可以在getter方法上设置,效果一样。但是:要么都放属性,要么都放getter,不能混着用。