CMR的奇怪问题

04-09-27 wwlhp@jdon
我的数据库用的是MySQL,有3个表,User, Company 和 Enroll. User和Company是多对多的关系,Enroll是关联表,但Enroll表没加任何约束。

而且CMR field的类型我用的是java.util.Set,就是想避免重复。

结果问题就出来了,我在为一个用户添加公司的时候,发现如果重复为同一个用户添加一个公司,UserBean的CMR field中是不会重复加入这个公司的,但是底层的Enroll表中却有重复记录。

如果为一个用户删除这个公司,那么Enroll表中的重复记录都被删除了,这个是没问题的。

我就奇怪,既然容器对CMR能正确维护,并且判断出不能重复加入,为什么还要在底层数据库中加入呢?

banq
2004-10-10 09:56
既然设置成 User和Company是多对多的关系

那么就允许重复,多对多是允许重复的,不知我的理解对否?

猜你喜欢