Hibernate annotation多对多配置

角色(用户组),用户多对多。

角色实体配置:

        private Set<TAuthUser> users;

	@ManyToMany
	@JoinTable(name="t_auth_user_role",joinColumns={@JoinColumn(name="role_id")},inverseJoinColumns={@JoinColumn(name="user_id")})//配置一方
	public Set<TAuthUser> getUsers() {
		return users;
	}

	public void setUsers(Set<TAuthUser> users) {
		this.users = users;
	}

用户实体配置:

        private Set<TAuthRole> roles;

	@ManyToMany(mappedBy="users")//"users"为在角色表中名称
	public Set<TAuthRole> getRoles() {
		return roles;
	}

	public void setRoles(Set<TAuthRole> roles) {
		this.roles = roles;
	}

测试生成角色表:

用户表:

角色用户关联表:

Hibernate annotation多对多配置

时间: 2024-10-14 10:15:15

Hibernate annotation多对多配置的相关文章

hibernate的多对多配置

Teacher.java 1 package com.xiaostudy.domain; 2 3 import java.util.HashSet; 4 import java.util.Set; 5 6 /** 7 * Teacher 8 * 9 * @author xiaostudy 10 * 11 */ 12 public class Teacher { 13 // id 14 private Integer id; 15 // 普通属性 16 private String name; 1

hibernate annotation 主键生成策略的相关配置

Hibernate 默认总共支持 13 种生成策略 : 1. increment 2.  identity 3. sequence 4. hilo 5. seqhilo 6. uuid 7. uuid.hex 8. guid 9. native 10. assigned 11. select 12. foreign 13. sequence-identity 下面介绍几个较为常用的策略 : ① identity [ 自然递增 ] 支持 DB2,MySQL,SQL Server,Sybase 和H

hibernate关于多对多注解配置

Game实体类配置关系 @Entity @Table(name = "game") public class Game { @Id @GeneratedValue private Integer gid; private String gname; @ManyToMany(mappedBy = "games",cascade = CascadeType.ALL) private Set<Player> players=new HashSet<Pla

Hibernate Annotation关系映射, 级联cascade属性

Hibernate Annotation关系映射, 级联cascade属性一. Hibernate Annotation关系映射 1.一对一外键关联映射(单向) 2.一对一外键关联映射(双向) 3.一对一主键关联映射(不重要)在这不演示 在实际中很少用,使用注解@PrimaryKeyJoinColumn 意思是说,我的主键去参考另外一张表中的主键,作为我的主键,但是在我测试使用 注解一对一主键关联映射,在生成表的时候,数据库中并没有生成关联,使用XML 映射可以生成.Annotation注解一对

hibernate annotation注解方式来处理映射关系

在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式以后,发现使用annotation的方式可以更简介,所以这里就简单记录下通过annotation来配置各种映射关系,在hibernate4以后已经将annotation的jar包集成进来了,如果使用hibernate3的版本就需要引入annotation的jar包. 一.单对象操作 @Entity

Hibernate Annotation笔记

(1)简介:在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准.它非常强大.灵活,而且具备了优异的性能.在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松. 传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载.    在最近发布的几个Hibernate版本中,出现了一种基于 Java 5 注释的更为巧妙的新方法.借助新的 Hibernate

Hibernate单向多对多

最近做一个OA系统,用到了Hibernate框架,我发现,权限和角色的关系是一种多对多的关系,一个权限可以分配给多个角色,一个角色拥有多个权限. 多对多关系有两种,一种是单向的,一种是多向的.对于这个问题,曾经让我很犯难.单纯在语言上理解,会比较复杂,而从代码上理解,可能就会明白了. 下面模拟为角色授权的过程: 1,Hibernate使用Annotation 2,使用Junit进行测试. 3,使用Mysql作为后台数据库. 4,Hibernate不使用自动建表,也不采用反向工程. 过程 : 1,

hibernate 关系映射文件配置

<!--Department.hbm.xml users属性,本类与User的一对多 --> <set name="users"> <key column="departmentId"></key> <one-to-many class="User" /> </set> <!-- parent属性,本类与Department(上级)的多对一 --> <man

Hibernate之多对多篇

Hibernate值多对多篇: 首先Hibernate基于数据库持久层框架,好的OR框架.封装了JDBC对数据库繁琐的操作,完全以面向对象的方式来操作数据库,提供了以及一级,二级缓存. 下面就来谈谈Hibernate的优点与缺点: 优点: 1.对jdbc访问数据库进行了封装,简化了繁琐的操作. 2.映射的灵活性 3.非侵入性,移植性好.(就是说只需将你的映射文件及其配置文件移植到相应另一台计算机上照样可以运行,因为表的它是自己检查创建的,这一点非常好,不像Mybatis那 你要去建一个和他的映射