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;
}
}
由于 百度 太令人 失望, 所以 费了 很大的功夫才 把这些 归纳出来,