hibernate注解配置的问题(二)

来源:互联网 发布:什么软件看有色金属 编辑:程序博客网 时间:2024/06/05 17:34

  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: 一对多的父亲的

@Entitypublic class comhj  implements Serializable{private int sm;private Set<function_right> ss=new HashSet<function_right>();@Idpublic 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;}}

儿子的 多对一:

@Entitypublic 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() 

                       写两个 

@Entitypublic 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;}}

功能 权限可控的字段 

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

@Entitypublic 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