今天想到了一个关于设计模式的问题
现在比如有两个类,一个是作品,一个是作者,那么作者里面有一个作品的List,这个好理解.
但是,当我取到作品时也需要作者的信息,这样应不应该在作品里面有一个作者的引用呢?如果这样做了,那作者里面又有作品,这样不是没完了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
现在比如有两个类,一个是作品,一个是作者,那么作者里面有一个作品的List,这个好理解.
但是,当我取到作品时也需要作者的信息,这样应不应该在作品里面有一个作者的引用呢?如果这样做了,那作者里面又有作品,这样不是没完了吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
那不是会一直查下去没完没了吗
这是很直接的双向多对多的关系啊,没看出有什么特殊的问题,如果你不想每次都关联查询出作者信息,那你就将作者名称冗余到作品表里
因为如果把这个关系对应好的话,用ssm框架,每个类只需要对应一条sql和resultMap就足够用了,因为每次查出的都是全部的完整信息. 现在的话只能两个类变4个了,多出了在作品里的作者(里面不包含作品),和在作者里的作品(里面不包含作者)
这不是很常见的组合吗?这种情况很常用啊。 你说的没完了 是在这种
cycle reference 情况下 需要注意一些事情,比如spring注入的时候 比如数据库ORM框架的时候。。
作者里面有作品的list这种说法咋看是没问题的,但如果深究的话,大部分语言作品list并未包含在作者中,只不过作者有个地方存了作品list的编号而已,需要用的时候通过编号去找。并且作品反关联到作者,也不过就存一个作者编号而已
关于你说没完了,其实是你没有考虑到适用场景和数据懒加载问题,根据作者查询的时候,如果你需要读取作品的时候,才去实际查询作品信息。然后在根据作品查询作者,也是一样的,在作品中,一般只显示作者名称,这个时候是不会查询作者作品的
是需要在作品里边加一个作者信息。