JPA:出现后,所有的ORM框架都有@注解 ,在所有的ORM框架里面是通用的,因此一般是建议大家使用注解进行配置。
实体类一般都有唯一属性,普通属性,集合属性
如何体现ORM思想的?
@Entity:用来表示这是一个实体对象。
@Table:用来描述这个实体对象所对应的是哪一个表格
@Column:用来表示这个属性对应表格里面的那个字段
@id:用来表示那一个属性是在表格里面做主键
-- 单个实体的注解
所有的注解要要使用jpa里面的。Hibernate里面的注解只有jpa注解无法完成工作的时候,补充使用的。
在注解配置里面,如果一个属性我没有配置,默认这属性和数据库表格里面的字段名称一致。
在XML配置里面,如果一个属性我没有配置,表示这个属性是一个临时的属性,不会出现在数据库表格里面。
当配置日期类型的普通属性的时候,需要注意:
数据库里面的的日期时间类型有三个:
java.sql.Date(只有日期,没有时间)
Java.sql.Time(只有时间,没有日期)
Java.sql .Timestamp(既有时间又有日期)
以上三种都是java.util.Date的子类。
如果实体对象里面的属性是java.util.Date,那么需要配置的时候制定到底映射成那种数据类型:@Temporal(TemporalType.TIMESTAMP)
-- 映射配置:
@ManyTOMany
@OneToMany
@ManyToOne