日期:2014-05-20  浏览次数:20688 次

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来进行关系的