当前位置: 代码迷 >> J2EE >> annotation @JoinTable帮忙看看解决办法
  详细解决方案

annotation @JoinTable帮忙看看解决办法

热度:361   发布时间:2016-04-22 02:49:02.0
annotation @JoinTable帮忙看看
Java code
    //多对多关系    @ManyToMany(cascade=CascadeType.MERGE,fetch=FetchType.EAGER)    @JoinTable(name="CMS_ROLE_FUNCTION",        joinColumns={@JoinColumn(name="ROLE_ID")},        inverseJoinColumns=@JoinColumn(name="FUNCTION_ID")              )    private Set<FunctionInfo> categories = new HashSet<FunctionInfo>(0); 

以上成功编译并执行后 生成了个表cms_role_funcion(role_id,function_id)
我想在CMS_ROLE_FUNCTION这个表多增加一列cms_role_funcion(role_id,function_id,isAuth)
应该怎么做?请会的指点一下,我刚刚学的

------解决方案--------------------
hibernate 暂时还不能支持你这种操作,你如果想要在中间表中增加1列的话,就只有拆分数据结构,将多对多,拆分成2个1对多,如增加一个 角色功能domain
角色 和 角色功能的关系为 一对多
功能 和 角色功能的关系为 一对多

而角色 和 功能之间就没有直接关系了,都是通过中间domain来进行关系的
  相关解决方案