您的位置:首页
hibernate之关于一对多单向关联映射
2018-04-25 12:43
811 查看
【hibernate】之关于一对多单向关联映射
基于外键的一对多关联映射!
一对多,Group(组)对于Person(人),一个组能够有多个人!ok?
Hibernate主要有两种配置方法。一种是Annotations 一种是XML!
以下是Annotations的配置方法!
XML配置一对多的单向关联映射
Ok,一对多单向关联映射的Annotations和XML配置方法!
基于外键的一对多关联映射!
一对多,Group(组)对于Person(人),一个组能够有多个人!ok?
Hibernate主要有两种配置方法。一种是Annotations 一种是XML!
以下是Annotations的配置方法!
@Entity @Table(name="t_group") publicclass Group { private Integer id; private String name; private Set<Person> persons=newHashSet<Person>();//set不同意反复,最适合数据库模型 @Id @GeneratedValue public Integer getId() { returnid; } publicvoid setId(Integerid) { this.id = id; } @Column(name="t_name") public String getName() { returnname; } publicvoid setName(Stringname) { this.name = name; } @OneToMany //加上@JoinColumn是为了防止Hibernate将一对多当做多对多来处理,产生中间表 @JoinColumn(name="group_id") public Set<Person>getPersons() { returnpersons; } publicvoidsetPersons(Set<Person> persons){ this.persons = persons; } }
@Entity @Table(name="t_person") publicclass Person { private Integer id; private String name; private Integer age; @Id @GeneratedValue public Integer getId() { returnid; } publicvoid setId(Integerid) { this.id = id; } @Column(name="t_name") public String getName() { returnname; } publicvoid setName(Stringname) { this.name = name; } @Column(name="t_age") public Integer getAge() { returnage; } publicvoid setAge(Integerage) { this.age = age; } }
XML配置一对多的单向关联映射
publicclass Person { private Integer id; private String name; private Integer age; public Integer getId() { returnid; } publicvoid setId(Integerid) { this.id = id; } public String getName() { returnname; } publicvoid setName(Stringname) { this.name = name; } public Integer getAge() { returnage; } publicvoid setAge(Integerage) { this.age = age; } }
publicclass Group { private Integer id; private String name; private Set<Person> persons=newHashSet<Person>();//set不同意反复,最适合数据库模型 public Integer getId() { returnid; } publicvoid setId(Integerid) { this.id = id; } public String getName() { returnname; } publicvoid setName(Stringname) { this.name = name; } public Set<Person>getPersons() { returnpersons; } publicvoidsetPersons(Set<Person> persons) { this.persons = persons; } }
<? xml version="1.0"? > <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="csg.hibernate.entity"> <class name="Group"table="t_group"> <id name="id"> <column name="id"/> <generator class="native" /> </id> <property name="name" /> <set name="persons"> <key column="group_id"/> <one-to-many class="csg.hibernate.entity.Person"/> </set> </class> </hibernate-mapping>
<? xml version="1.0"? > <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="csg.hibernate.entity"> <class name="Person"table="t_person"> <id name="id"> <column name="id"/> <generator class="native" /> </id> <property name="name" /> <property name="age" /> </class> </hibernate-mapping>
Ok,一对多单向关联映射的Annotations和XML配置方法!
相关文章推荐
- hibernate之关于一对多单向关联映射
- 【hibernate】之关于一对一单向,双向关联映射
- hibernate之关于一对一单向,双向关联映射
- hibernate之关于一对一单向,双向关联映射
- Hibernate之关于多对多单向关联映射
- hibernate之关于一对一单向,双向关联映射
- hibernate之关于一对一单向,双向关联映射
- hibernate之关于多对一单向关联映射
- Hibernate之关于多对多单向关联映射
- hibernate之关于一对多单向关联映射
- Hibernate之关于多对多单向关联映射
- hibernate之关于多对一单向关联映射
- 一口一口吃掉Hibernate(五)——一对多单向关联映射
- Hibernate多对多单向关联和双向关联映射的方法
- 一口一口吃掉Hibernate(五)——一对多单向关联映射
- hibernate单向一对多关联映射(one-to-many)XML与注解版
- Hibernate关系映射(1)_一对一单向外键关联
- Hibernate教程04_关系映射之一对一单向外键关联
- hibernate一对多关联映射—单向
- Hibernate的关联映射(1)-单向N-1关联