V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cs4814751
V2EX  ›  Java

求指教,多对多关系,联系集有属性,一般怎么处理

  •  
  •   cs4814751 · 2016-12-07 18:08:33 +08:00 · 2214 次点击
    这是一个创建于 2913 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如 advisor 表,字段有 id , name , student 表,字段有 id , name ,联系集字段为 advisor_id,student_id,date date 是该导师成为该学生的导师的日期,导师学生之间是多对多关系。那这样的情况一般怎么处理,导师或者学生的 POJO 放 date 这个属性感觉都不大合适呀。

    6 条回复    2016-12-08 12:12:30 +08:00
    20150517
        1
    20150517  
       2016-12-07 18:19:59 +08:00
    为什么联系字段会有 date?advisor_id 和 student_id 已经足够了,不是吗
    YaphetYin
        2
    YaphetYin  
       2016-12-07 18:21:12 +08:00
    date 放中间表啊,题主不是已经给出方案了么
    cs4814751
        3
    cs4814751  
    OP
       2016-12-07 18:45:27 +08:00 via iPhone
    @20150517 date 是该导师成为该学生导师的日期
    cs4814751
        4
    cs4814751  
    OP
       2016-12-07 18:46:18 +08:00 via iPhone
    @YaphetYin 如果用 mybatis 这种对象映射的话,是再建一个 POJO 类,对应联系集吗?还是怎么映射呢
    yidinghe
        5
    yidinghe  
       2016-12-07 22:14:35 +08:00
    @cs4814751 date 名字改为 become_advisor_date 就可以了
    q397064399
        6
    q397064399  
       2016-12-08 12:12:30 +08:00
    另外再建一个 POJO ,这个 Date 是一个对象的属性,这个对象代指 老师跟学生的这个指导关系

    如果有 n 个学生 m 个老师 就会有 n * m 种可能的关系,也会有 n * m 种时间关系,

    自然要另外建一个 POJO 来描述这种关系,由导师持有这种关系对象的集合,需要查找学生的时候 遍历关系对象

    然后再来查学生的信息
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2676 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:48 · PVG 23:48 · LAX 07:48 · JFK 10:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.