日期:2014-05-18  浏览次数:20746 次

请hibernnate中,单表数据保存
本帖最后由 dingdot 于 2013-06-26 09:00:51 编辑
有两个类User和Group
user{
private int id;
private String name;
private Group group;
....省略get set方法
}

Group{
private int id;
private String name;
Set<User> users=new ArrayList<User>();
....省略get set方法
}

两个类多了一对多,多对一的双向关联映射
User映射的实体表是
T_USER(in,name,gid)

Group映射的实体表是
T_GROUP(id,name)

id都是自增的
-----------------------------
T_GROUP表,已经有几条数据了,假如现在已经知道 User对应的gid,和user的name,如果只向T_USER表添加数据,要怎么添加?
我目前做法是根据gid,先查找对应的group,再把查找到的这个group斌值给user中的group,这样才能保存user。
但是这样会向数据库发送两条语句,请问有其他办法可以直接保存User吗?

高手请指教

------解决方案--------------------

你可以这样,在页面初始化的时候,就去把组的信息查出来,以下拉列表的形式展示,新增用户时,可以根据选择的得到zu的id,然后直接添加。。。