关闭

hibernate注解配置的问题(二)

标签: hibernate
150人阅读 评论(0) 收藏 举报

  1.笔者由于 初学 hibernate ,遇到了 很多的 麻烦, 但是在 百度 寻找 注解配置 的 过程中,发现并没有 直接了当的 答案, 索性 自己写, 伏惟尚飨。。

  2. 所有的 单向配置,  都最好只 在 儿子这边 配置,意思就是 儿子类 需要 写 private father father;@manyToone                   _____________________@joincolumn(name="father_id") 

  3.后面 全是 双向的: 直接 上来 一对一

             父亲类:

@Entity<pre name="code" class="java">

public class idcard(){private int id; private String idno; private person person;

 @Id

 public getId(){} 

@oneToone(mappedby="很重要的 一个idcard")//儿子 里面的一个 属性值 

publci getPerson(){} }


儿子类

@Entity
public class person(){ private int id;


private idcard ;
@Id
  public getId(){

} 
@oneToone
@joincolumn(name="自己命名 id_id")
 publci getidcard (){
}
        
}

3—1: 一对多的父亲的

@Entity
public class comhj  implements Serializable{

	private int sm;
	private Set<function_right> ss=new HashSet<function_right>();
	
	@Id
	public int getSm() {
		return sm;
	}
	public void setSm(int sm) {
		this.sm = sm;
	}
	
	
	@OneToMany(mappedBy="comhj")// 必须是对应 起来的
	public Set<function_right> getSs() {
		return ss;
	}
	public void setSs(Set<function_right> ss) {
		this.ss = ss;
	}
	
	
	
}

儿子的 多对一:

@Entity
public class function_right implements Serializable {

	private int  compment;
    private comhj comhj;
    
	@Id
	@Column(name="c_id")
	public int getCompment() {
		return compment;
	}

	public void setCompment(int compment) {
		this.compment = compment;
	}
	@ManyToOne
	@JoinColumn(name=comhj_id)// 自己 命名的 最好和 父亲是 关联的
	public comhj getComhj() {
		return comhj;
	}

	public void setComhj(comhj comhj) {
		this.comhj = comhj;
	}
	
	
	
}
3-3 多对多,我们这里不讲解;用的 很少

 接下来 是 联合主键的 问题

就 很麻烦啊

  功能 模块 操作 权限:分析 + 分解 下来 :3个 主键 就是 说 

                      @Id 写三个 ,

           2个外键 就是:

                     @manyToone @joincolumn() 

                       写两个 

@Entity
public class function_right implements Serializable {

	private int  compment;
    private commss coms;// 必须 写 父亲的 实力类, 才能 向对应的
    private comhj comhj;
    
	@Id
	@Column(name="c_id")
	public int getCompment() {
		return compment;
	}

	@Id
	@ManyToOne
	@JoinColumn(name="coms_id")
	public commss getComs() {
		return coms;
	}

        @Id
	@ManyToOne
	@JoinColumn(name="comhj_id")</span>
	public comhj getComhj() {
		return comhj;
	}

	
}

功能 权限可控的字段 

   分析 三个 主键 恰好又是 三个 外键,

@Entity
public class function_xpl  implements Serializable{

	private function_right function_right;
    private String name;
  
	
    @Id
	@ManyToOne
	@JoinColumns({@JoinColumn(name="c_id"),
		@JoinColumn(name="coms_id"),
		@JoinColumn(name="comhj_id")})
	public function_right getFunction_right() {
		return function_right;
	}
	
	
}

由于  百度 太令人 失望, 所以 费了 很大的功夫才 把这些 归纳出来,

    


















0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:27436次
    • 积分:1465
    • 等级:
    • 排名:千里之外
    • 原创:125篇
    • 转载:1篇
    • 译文:0篇
    • 评论:5条
    最新评论