实体和数据库之间存在某种映射关系,hibernate根据这种映射关系完成数据的存取。在程序中这种映射关系由映射文件(*.hbm.xml)或者java注解(@)定义。
本文以java注解的形式总结映射关系配置。
实体类组件以及注解标签映射关系
实体类-----------@Entity/@Table----------数据表
Id--------------@Id----------主键
普通属性---------@Column----------普通键
集合属性---------@OneToMany/@ManyToOne/@ManyToMany/@OneToOne/@OneToMany----------外键
将映射文件配置到hibernate配置文件
Hibernate将通过配置文件(cfg.xml)定义实体和数据库关系映射
主键映射
.Hibernate推荐实体类有主键列并且有setter 和 getter,且主键数据类型使用引用类型。因为,基础数据类型不能为null值,hibernate中主键的null表明实体类是处在瞬时(Transient)状态,非null表示处持久化()状态。
.用@Id声明为主键列,用@Column声明列名。
.列名属性名相同时候@Column可以省略。
.@GeneratedValue指定主键的生成策略
Example:
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer id