紫金 2009-12-19 17:24
浏览 229
已采纳

利用hibernate建立实体影射数据表主外键的问题

今天突然想到一个问题,是这样的,我们在利用hibernate的时候,实体可以映射成数据库表,表也可以导出实体,如果现在有两个实体:Student(学生)与 Classes(班级),当然也就对应两张表,他们的关系是:多对一,我现在的问题是,我们在写实体的时候,把主外键关系建立好跟不建立主外键关系有效率上的问题嘛?
如果建立关系,那么一般在多的一端加入一个外键指向一的一端,利用 建立关系
如果不建立关系,那么直接在Student中加入一个字段,就可以了,

我想知道,建立关系跟不建立关系有没有效率上的影响或者其他方面的影响,或者说建立关系好些还是不建立关系好些?理由是?

  • 写回答

1条回答 默认 最新

  • shijiebao 2009-12-19 20:02
    关注

    一:建立数据库表之间的关系跟你程序的效率之间没有必然的联系;
    1、影响查询效率的是many的实体是为主动加载
    2、影响执行效率的是实体之间的级联关系。
    上面两点也都是完全根据需求自己设定的,所以总体来说不是影响效率的问题
    二:建不建立关系也没有好坏之分,也是要看LZ你的数据库表怎么设计符合你的需求了,建立了关系可以根据一个对象得到另外的一个对象,或者操作另外的一个对象,但是这个字段如果只是一个简单的字段能够搞定就没有必要再去建立关系了,实际上LZ所说的问题应该是数据库设计的问题了,hibernate对于这些都有灵活的操作配置

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备