JasonSen 2013-12-02
数据库中的表是通过外键来关联数据库中的表,hibernate中JAVA对象之间的关系与数据库中表的关系是一样的,因为一个JAVA对象映射到数据库中就是一张表,数据库中实体的关系就有一对一,一对多,多对多,hibernate中对象的关系既有单向的关联,也有双向的关联。Hibernate中对象的映射使用注解的方式,可以很轻松就完成映射关系,只需通过@OneToOne就可以映射一个一对一的关系,使用@OneToMany就可以映射一个一对多的关系,使用@ManyToMany就可以完成多对多的关系映射。对于单向关联,我们只能通过其中一个找到另外一个,而不能随便一个都可以找到对方,通过双向关联我们就可以从任意一方找到另外一方。不过,在设置双向关联时,我们最好设置映射关系的mappedBy属性,否则会添加两个外键属性,这在数据库中就产生了冗余。其实映射关系时,还可以设置cascade,fetch等属性。有时,我们想要指定JAVA对象映射到数据库中的属性名时,可以通过使用@Column来设置属性名。除了指定属性,我们还可以指定映射到数据库中的表,可以通过@Table来设置数据库表。