中间表只是维护关系,我看你的描述意思是:你修改了role的基本信息,但是关系表中的数据没有改变?你是说这个意思吗?如果是这样的话,你修改role那么只是对role做了修改操作,没有影响到和permision的关系。
如果我说的问题不是你所说的,请你描述一下,最好把你修改时维护关系的代码(对role保存前关系处理的那段)贴一下。
多对多中间表一般不用这种处理方式,首先中间表是没有唯一的主键作为标识,更新信息的时候,hibernate可能出现错误更新或者异常。
通常反向工程的时候不选择中间表,next以后勾选一个many-to-many的选项(让myeclimpse自动去嗅探多对多关系,然后分解成2个一对多的关系)。生成的pojo类里面就会比原有的pojo类多一个集合。比如,user类里面会有一个role类的set集合,role类里面有一个user类的set集合。
直接用hibernate获取到指定的user,程序里面foreach迭代一下set集合,ok....
建议lz去补下hibernate里面有关级联的知识。
哈哈,这分给我吧。
A AB B三张表的关系你懂的(多对多中间表AB),对应的类有a和b,
a里有b的set,b里有a的set.cascade都是all的。
上面的都是前提,下面说重点:
当你往a类的set中设置b类的数据,save(a)时,不会插入中间表AB,只是对应的插入了A和B,
如果你想插入AB的数据:
请在b的set中也把a设置进去。
那么就over了,插入后乘乘的送分吧。呵呵!
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....