hibernate many-to-one映射,怎么在many的表中保存one的ID
展开全部
部门和员工 从员工的角度来看就是多对一的关系
<many-t0-one name=”depart column=”depart_id” property-ref=”id”/>
如果不写 默认为 department 表中的主键 因为 name=depart 根据java的反射机制 会找到department 的配置文件 column=“depart_id”会自动找到 department 表中的主键id
部门:
Public class department(){
Private int id;
Private String name;
Set 和get方法
}
员工
Public class employee(){
Private int id;
Private String name;
Private Department depart;
Set 和 get 方法
}
<many-t0-one name=”depart column=”depart_id” property-ref=”id”/>
如果不写 默认为 department 表中的主键 因为 name=depart 根据java的反射机制 会找到department 的配置文件 column=“depart_id”会自动找到 department 表中的主键id
部门:
Public class department(){
Private int id;
Private String name;
Set 和get方法
}
员工
Public class employee(){
Private int id;
Private String name;
Private Department depart;
Set 和 get 方法
}
更多追问追答
追问
public class ChanceTable
private Long id; //id
private UsersTable usersTable; //创建人
private String job; //来源
public class UsersTable
private Long id;
private String uname;
private Set chanceTables = new HashSet(0);
现在我要保存ChanceTable一个实体,数据库ChanceTable表中是userTabl_id,这里是一个usersTable对象,我该怎么写代码或设置呢,就是保存不进数据库?
追答
这是一对多要在 实体类中配置xxxx.hbm.xml的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你问得好奇怪,比如:一个Teacher类,一个Student类
Class Teacher{
private int id;
private String teacherName;
private Set<Student> students ;
//添加get() and set()。。。。
}
Class Student{
private int stuId;
private String stuName;
private int teacherId;
//添加get() and set()。。。。
}
你用了Hibernate了吗?
保存Teacher对象的时候是会直接保存Set<Student> students的,如果实在只要保存单个Student,只能用jdbc 了,不然就直接保存Teacher对象,这样就不用管了
Class Teacher{
private int id;
private String teacherName;
private Set<Student> students ;
//添加get() and set()。。。。
}
Class Student{
private int stuId;
private String stuName;
private int teacherId;
//添加get() and set()。。。。
}
你用了Hibernate了吗?
保存Teacher对象的时候是会直接保存Set<Student> students的,如果实在只要保存单个Student,只能用jdbc 了,不然就直接保存Teacher对象,这样就不用管了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
多对一的话,在many的对象中有一个属性就是one对象,而表结构中就是many表有one表的外键。
反过来的话,在one对象里面有many对象的集合(List、Set等都可以)。
反过来的话,在one对象里面有many对象的集合(List、Set等都可以)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询