日期:2014-05-18  浏览次数:20720 次

问个hibernate相关的话题
本帖最后由 qq467339640 于 2013-03-19 23:20:52 编辑
我听说实际开发项目中很少用到外键,那么基于ssh2 开发的app那么就用不到类似@onetomany的注解,
那么咋么在实体设计中体现一对多这种关系,是不是用了@onetomany类似的注解数据库就要用到外键???
如果数据库里面不用外键,那么hibernate几乎就可以不用了是不?

引用
hibernate比ibatis复杂很多,数据库建模要保持多外键,少冗余才能保证对大限度利用缓存。虽然你设计成少外键多冗余的方式hibernate也能实现,但是总觉得不利于缓存。

因为hibernate的复杂,如果项目里没有一个特别了解的人,项目一定会在关键问题上堵死,所以一定要小心选用。不懂的话,不要冒险,为了项目着想。
hibernate 数据库 ssh

------解决方案--------------------
我做的都是小项目,感觉hibernate优点就是省去sql.因为根本没有什么太复杂需求的sql.而ibatis我感觉没什么难度,最后感觉hibernate的1,2级缓存也很简单配置,"因为hibernate的复杂,如果项目里没有一个特别了解的人,项目一定会在关键问题上堵死,所以一定要小心选用。不懂的话,不要冒险,为了项目着想。"很认同。
------解决方案--------------------
我所在公司系统数据库基本看不到任何的外键   标语表之间理论上是存在关系的,但是在数据库设计时并不把这些关系加上也就是说不会设置外键约束等  至于原因我也不是太清楚
------解决方案--------------------
引用:
。。。。
没外键的情况不多吧,不如直接用excel编辑算了,也没必要做成数据库。


兄弟你做的很多项目都有外键么,呵呵,你需要不停的维护你的外键的一致性啊。。
如果是Master表,数据增删不多,那还可以。
如果是履历一类的表,外键还是尽量不用。
------解决方案--------------------
引用:
引用:我所在公司系统数据库基本看不到任何的外键   标语表之间理论上是存在关系的,但是在数据库设计时并不把这些关系加上也就是说不会设置外键约束等  至于原因我也不是太清楚
没用外键 你们怎么设计一对多这种关联的,不可能直接用多的一方的主键做属性吧??没有外键用hibernate还有多大用处,小弟求解

我没说用Hibernate呀   完全不用Hibernate的   
------解决方案--------------------
引用:
引用:引用:引用:我所在公司系统数据库基本看不到任何的外键   标语表之间理论上是存在关系的,但是在数据库设计时并不把这些关系加上也就是说不会设置外键约束等  至于原因我也不是太清楚
没用外键 你们怎么设计一对多这种关联的,不可能直接用多的一方的主键做属性吧?……

都说了没用Hibernate   听不懂
------解决方案--------------------
因为hibernate的复杂,如果项目里没有一个特别了解的人,项目一定会在关键问题上堵死,所以一定要小心选用。不懂的话,不要冒险,为了项目着想。

很赞同啊。
以前的hibernate项目纯是摸着石头过河的。自己现在也了解一些

我们的“外键”在数据库只是一个必填的数据。
如果是需要外键的冗余字段,拿取id去缓存中获取
大部分时间在维护缓存
------解决方案--------------------
引用:
这样设计?


是的,并不一定要让数据库维护外键完整性的,可以在业务上维护的。