hibernate user对象中有个roles集合属性,我在roles中新增一条对象,日志显示删除集合全部对象,再全部新增,而我只想不删除并且新增一条hibernate
解决方案 »
- 后台报出 java.lang.IllegalArgumentException: No SqlMapClient specified 是什么原因啊
- 谁能提供一些JacORB的详细资料,中文的最好.网上有的那种简单配置就不用了,谢谢了.
- 向大家推荐Awake框架 十分钟做一个查询,分页列表,增减一列只需几秒钟
- 帮菜鸟看下关于hibeinate的配置问题
- Hibernate如何稳定连接多数据库?
- 大家帮忙看看hibernate的问题
- 请教。在ejb中用DataSource连接数据库,报错!
- 《 精通EJB2.0 》是哪个出版社出版的?
- spring mvc中已经实现后台图片上传的功能,现在想实现隐藏图片的功能,具体应该怎么实现
- 大佬帮忙看下这个问题
- log4j2 控制台输出乱码
- dwz lookup 问题
user实体中有
//多对多定义
@ManyToMany
//中间表定义,表名采用默认命名规则
@JoinTable(name = "ACCT_USER_ROLE", joinColumns = { @JoinColumn(name = "USER_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") })
//Fecth策略定义
@Fetch(FetchMode.SUBSELECT)
//集合按id排序.
@OrderBy("id")
//集合中对象id的缓存.
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
@Cascade(value={CascadeType.MERGE})
public List<Role> getRoleList() {
return roleList;
} 现在我调用:
User user = userDao.findByUsername(SpringSecurityUtils.getCurrentUserName());
List<Role> roles = user.getRoleList();
Role role1 = new Role();
role1.setName("管理员" + new Date());
roles.add(role1);
user.setRoleList(roles);
userDao.save(user); hibernate打印出来的语句是: Hibernate:
delete
from
acct_user_role
where
user_id=?
Hibernate:
insert
into
acct_user_role
(user_id, role_id)
values
(?, ?)
Hibernate:
insert
into
acct_user_role
(user_id, role_id)
values
(?, ?)
Hibernate:
insert
into
acct_user_role
(user_id, role_id)
values
(?, ?)
Hibernate:
insert
into
acct_user_role
(user_id, role_id)
values
(?, ?)
Hibernate:
insert
into
acct_user_role
(user_id, role_id)
values
(?, ?) 但是我想只插入一条,而不是全删除再全插入
只需要修改user对象,为什么调用save方法呢