求大神!!关于Hibernate多对多关系的中间表插入数据

始于千里之外 2015-05-11 08:29:29
有两个实体类 角色(Role)、权限(Permission)
Role.java代码如下:

@Entity
@Table(name = "role")
public class Role implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE},fetch = FetchType.EAGER)
@JoinTable(
name = "role_permission",
joinColumns = { @JoinColumn(name ="role_id" )},
inverseJoinColumns = { @JoinColumn(name = "permission_id") })
private List<Permission> permissions = new ArrayList<Permission>();
//省略若干属性和get/set

public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<Permission> getPermissions() {
return permissions;
}
public void setPermissions(List<Permission> permissions) {
this.permissions = permissions;
}
}

Permission.java代码如下:

@Entity
@Table(name= "permission")//uniqueConstraints = { @UniqueConstraint(columnNames = { "permission" }) })
public class Permission implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, mappedBy = "permissions", fetch = FetchType.EAGER)
private List<Role> roles = new ArrayList<Role>();

//省略若干属性和get/set

public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
}

在项目初始化时有如下代码:

Role role = new Role();
role.setCreateTime(now);
role.setCreateUser(1);
role.setIsDelete(0);
role.setRole(admin);
role.setUpdateTime(now);
role.setUpdateUser(1);

// 为超级管理员添加权限
role.setPermissions(new ArrayList<Permission>());
for (Permission permission : sysPer) {
role.getPermissions().add(permission);
}

session.save(role);


代码跑完没有任何异常
运行结果:
Role表中插入了一条数据
中间表Role_Permission表里没有插入数据。
Role表:

Role_Permission表无数据

小弟新学Hibernate4,不知道问题出在哪里,请大家指教指教
分不够可以加,谢谢
...全文
143 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
始于千里之外 2015-05-12
  • 打赏
  • 举报
回复
早上来上班的大哥大姐大叔大婶们,麻烦抽点时间指导指导 小弟初学,也研究大半天了 没找到原因啊
始于千里之外 2015-05-12
  • 打赏
  • 举报
回复
引用 3 楼 sheldon178 的回复:
不清楚注解怎么配置,去网上找点例子,这种例子应该是很好找的。
谢谢你的回答 主要原因就是没法现和网上的有哪里不一样
shadon178 2015-05-11
  • 打赏
  • 举报
回复
不清楚注解怎么配置,去网上找点例子,这种例子应该是很好找的。
始于千里之外 2015-05-11
  • 打赏
  • 举报
回复
怎么没人啊?帮我看看吧
始于千里之外 2015-05-11
  • 打赏
  • 举报
回复
没人吗?大牛们抽点时间帮我看看吧,谢谢

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧