论坛首页 Java企业应用论坛

hibernate多对多保存的问题

浏览 1458 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-10-24  
用户和角色是多对多的关系,有一张中间表user_group,然后我想插入一个user的时候自动给此user赋一个默认的role,但是我每次这样调用的时候user.getGroups().add(defaultGroup);
session.save(user);
hibernate会把defaultGroup又在数据库更新一次,但是换句话说,hibernate又怎么会知道数据库里有没有defaultGroup这条数据呢,所以去更新好像又在所难免,真是纠结
下面是hibernate生成的sql语句
Hibernate:
    select
        hibernate_sequence.nextval
    from
        dual
Hibernate:
    insert
    into
        users
        (avatar, create_time, email, gender, interests, last_visit_time, password, user_name, user_id)
    values
        (?, ?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
    update
        UserGroup
    set
        create_time=?,
        group_name=?,
        last_modify_time=?
    where
        usergroup_id=?
Hibernate:
    insert
    into
        user_group
        (user_id, usergroup_id)
    values
        (?, ?)
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics