`

Hibernate annotation 多对多单向关联

 
阅读更多

 

package com.hibernate.entity;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class Student implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3543286868313801941L;
	
	private int id;
	
	private String name;
	
//	private Set<Teacher> teachers = new HashSet<Teacher>();

	
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

//	@ManyToMany
//	public Set<Teacher> getTeachers() {
//		return teachers;
//	}
//
//	public void setTeachers(Set<Teacher> teachers) {
//		this.teachers = teachers;
//	}
	
	
	
	
}

 

 

package com.hibernate.entity;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;

@Entity
public class Teacher implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 3543286868313801941L;
	
	private int id;
	
	private String name;
	
	private Set<Student> students = new HashSet<Student>();

	
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	
	@ManyToMany
	@JoinTable(
			    name="s_t",
			    joinColumns=
			        @JoinColumn(name="teacherid", referencedColumnName="id"),//当前表里的id
			    inverseJoinColumns=
			        @JoinColumn(name="studentid", referencedColumnName="id")//与此相对应的表里的id
			    )
	public Set<Student> getStudents() {
		return students;
	}

	public void setStudents(Set<Student> students) {
		this.students = students;
	}
	
}

 hibernate.cfg.xml和ORMappingTest与之前一样,拷过来就可以使用

当然,.xml中要加

<mapping class="com.hibernate.entity.Teacher" />
<mapping class="com.hibernate.entity.Student" />
分享到:
评论

相关推荐

    Hibernate Annotation 基于连接表的单向一对多关联

    NULL 博文链接:https://paladin1988.iteye.com/blog/1634669

    Hibernate Annotation 基于外键的单向多对一关联

    NULL 博文链接:https://paladin1988.iteye.com/blog/1633417

    Hibernate_Annotation关联映射

    和其它许多批注一样,在多对多关联中很多值是自动生成,党双向多对多关联中没有定义任何物理映射时,Hibernate根据以下规则生成相应的值,关联表名:主表表名+下划线+从表表名,关联到主表的外键名:主表名+下划线+...

    Hibernate多对多单向关联(annotation/xml)

    NULL 博文链接:https://cdxs2.iteye.com/blog/1932868

    Hibernate多对一单向关联(annotation/xml)

    NULL 博文链接:https://cdxs2.iteye.com/blog/1932861

    Hibernate一对多单向关联(annotation/xml)

    NULL 博文链接:https://cdxs2.iteye.com/blog/1932864

    Hibernate一对一单向外键关联 (联合主键annotation)

    NULL 博文链接:https://cdxs2.iteye.com/blog/1932507

    Hibernate一对一单向外键关联(annotation/xml)

    NULL 博文链接:https://cdxs2.iteye.com/blog/1930748

    精通Java Web整合开发(第2版)

    12.4.5 多对一单向关联的annotation注解实现538 12.4.6 一对多双向关联的annotation注解实现540 12.4.7 一对多双向自身关联的annotation注解实现542 12.4.8 多对多单向关联的annotation注解实现543 12.4.9 多对多...

    Hibernate+中文文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    hibernate3.2中文文档(chm格式)

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    HibernateAPI中文版.chm

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    Hibernate中文详细学习文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    Hibernate 中文 html 帮助文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    hibernate 体系结构与配置 参考文档(html)

    使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    最全Hibernate 参考文档

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. 双向...

    Hibernate教程

    8.3. 使用连接表的单向关联(Unidirectional associations with join tables) 8.3.1. 一对多(one to many) 8.3.2. 多对一(many to one) 8.3.3. 一对一(one to one) 8.3.4. 多对多(many to many) 8.4. ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    7.3. 使用连接表的单向关联(Unidirectional associations with join tables) 7.3.1. 一对多(one to many) 7.3.2. 多对一(many to one) 7.3.3. 一对一(one to one) 7.3.4. 多对多(many to many) 7.4. ...

    Hibernate注释大全收藏

    这种策略支持双向的一对多关联,但不支持 IDENTIFY 生成器策略,因为ID必须在多个表间共享。一旦使用就不能使用AUTO和IDENTIFY生成器。 每个类层次结构一张表 @Entity @Inheritance(strategy=InheritanceType....

    Hibernate3的帮助文档

    8.3. 使用连接表的单向关联(Unidirectional associations with join tables) 8.3.1. 一对多(one to many) 8.3.2. 多对一(many to one) 8.3.3. 一对一(one to one) 8.3.4. 多对多(many to many) 8.4. ...

Global site tag (gtag.js) - Google Analytics