hibernate中的many-to-many问题

原创 2015年07月09日 09:18:39
//此为一个News类
@SuppressWarnings("deprecation")
@Entity
@Indexed(index="News")
public class News implements Serializable{
    private Set<User> users=new HashSet<User>();

@ManyToMany(cascade = CascadeType.PERSIST, fetch = FetchType.EAGER, mappedBy="news")
	public Set<User> getUser() {
		return users;
	}
	public void setUser(Set<User> user) {
		this.users = users;
	}
}

//此为一个User类
@Entity
@Table(name = "user")
public class User implements Serializable{
   private Set<News> news = new HashSet<News>();
   @ManyToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
	@JoinTable(name = "User_News",   
		joinColumns ={@JoinColumn(name = "user_ID", referencedColumnName = "id") },   
		inverseJoinColumns ={@JoinColumn(name = "news_ID", referencedColumnName = "id") } 
	)  
	public Set<News> getNews() {
		return news;
	}
	public void setNews(Set<News> news) {
		this.news = news;
	}
	public void addTargetNews(News news) {
		this.news.add(news);
	}
}
News类和User类为多对多关系,这里需要注意两点:1、注意News类中<span style="font-family: Arial, Helvetica, sans-serif;">mappedBy,拥有这个字段的类为被控类,被控类中的数据删除受到主控类的限制,若主控类中还有被控类中数据的引用,则被控类中的数据不能被删除;2、User类中的JoinTable为主控类所有,代表多对多关系的一个独立的表,name为表名,joinColumns代表此此类在表中的关系,name为此类对应表的字段名,referencedColumnName代表本类的主键名,同理inverseJoinColumns为表的另一端的关系,即News方。</span><pre name="code" class="java">


hibernate注解版关联映射Many-to-One/Many-to-Many等&异常处理

链接:http://blog.csdn.net/superdog007/article/details/8534443 属性介绍: 1.多对一: span style="font-size:...
  • xn_28
  • xn_28
  • 2017年03月15日 16:12
  • 1703

Hibernate基于注解的双向one-to-many映射关系的实现

在项目中用到了一对多的实体类关系映射,之前接触的都是基于配置文件的映射实现,但是公司的大部分都是基于注解的,因此自己参考之前的代码捣鼓了基于注解的一对多的映射关系实现。 背景: 一的一端:Qing...
  • bruce_6
  • bruce_6
  • 2014年07月23日 11:00
  • 2249

使用注解的Hibernate one-to-many映射

One to many映射关系指的是两个实体间一个实体可以和多个实体有关联关系,但是多的这一端只能和一的这一端的一个实例有关系。它是一个1 到 n的关系。例如在任何的公司员工可以注册多个银行账户,一个...
  • maoyeqiu
  • maoyeqiu
  • 2015年12月24日 23:32
  • 4125

hibernate 的many to one 的问题IllegalArgumentException occurred while calling setter of hibernatePOJO

package com.oyth.model; public class Book { private int BookID; private String BookName; pri...
  • xiaotaohong66
  • xiaotaohong66
  • 2013年08月10日 11:32
  • 7612

Hibernate-one-to-many

  • 2011年12月15日 08:01
  • 98KB
  • 下载

Hibernate one-to-many-annotation

  • 2012年07月30日 15:13
  • 9KB
  • 下载

Hibernate Tutorial 04 (Many-to-one and One-to-one Association

  • 2012年12月01日 06:57
  • 161KB
  • 下载

hibernate映射文件many-to-one 元素属性

name:映射类属性的名字 column:关联的字段 class:关联类的名字 cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联、none所有操作情况均不进行级联、s...
  • flyrainsky
  • flyrainsky
  • 2011年09月16日 13:48
  • 339

hibernate映射技巧one-to-many(单项一对多)

一对多关系在系统实现中也很常见。典型的例子就是父亲与孩子的关系。 而在我们现在的这个示例中,每个用户(TUser)都关联到多个地址(TAddress),如一个用户可能拥有办公室地址、家庭地址等多个地址...
  • zhangxiong0797
  • zhangxiong0797
  • 2014年05月19日 15:02
  • 476

Hibernate基于注解的双向one-to-many映射关系的实现

2、Hibernate基于注解的双向one-to-many映射关系的实现项目中用到了一对多的实体类关系映射,之前接触的都是基于配置文件的映射实现,但是公司的大部分都是基于注解的,因此自己参考之前的代码...
  • zxlqaz
  • zxlqaz
  • 2017年02月09日 16:48
  • 356
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate中的many-to-many问题
举报原因:
原因补充:

(最多只允许输入30个字)