心里一直有点疑问想问一下各位大牛。
在各位项目开始之前,设计阶段,设计数据库的时候。各位的设计流程是怎么样的?? 说说我矛盾的两种做法吧: A. 自顶向下(这种方式,采用hibernate时用的比较多)
即,先设计实体,加上JPA标注,通过配置文件,生成数据库表。 B。自底向上
即,先设计好数据库,再根据数据库来编写实体类,这种方式通常应该是不加JPA标注的吧??
甚至见过一些小的系统,采用这种方式设计数据库的时候,实体之间不关联起来,
比如 PojoA 和PojoB是N:1的关系, 如果是关联起来的话,我们应该在PojoA里面定义一个PojoB的实例。而他们的做法是直接保存一个Integer PojoBId。即,直接把外键做为一个属性放实体里面。。 上次有一个做设计的朋友说,他现在做的项目就是两者都要设计,又要用JPA机制,又要用powerDesigner设计数据库。
这两者如何统一列? 个人感觉A做法比较适合稍微复杂一点的系统。B方案设计好数据库表以后再去设计实体,碰到复杂关系,是不是很难设置。第一:各位达人说一下自己设计数据库的时候的设计方案是怎么样的??
第二:各位在设计实体的时候画UML类图吗? 在设计流程的时候,画UML流程图吗??欢迎畅所欲言
在各位项目开始之前,设计阶段,设计数据库的时候。各位的设计流程是怎么样的?? 说说我矛盾的两种做法吧: A. 自顶向下(这种方式,采用hibernate时用的比较多)
即,先设计实体,加上JPA标注,通过配置文件,生成数据库表。 B。自底向上
即,先设计好数据库,再根据数据库来编写实体类,这种方式通常应该是不加JPA标注的吧??
甚至见过一些小的系统,采用这种方式设计数据库的时候,实体之间不关联起来,
比如 PojoA 和PojoB是N:1的关系, 如果是关联起来的话,我们应该在PojoA里面定义一个PojoB的实例。而他们的做法是直接保存一个Integer PojoBId。即,直接把外键做为一个属性放实体里面。。 上次有一个做设计的朋友说,他现在做的项目就是两者都要设计,又要用JPA机制,又要用powerDesigner设计数据库。
这两者如何统一列? 个人感觉A做法比较适合稍微复杂一点的系统。B方案设计好数据库表以后再去设计实体,碰到复杂关系,是不是很难设置。第一:各位达人说一下自己设计数据库的时候的设计方案是怎么样的??
第二:各位在设计实体的时候画UML类图吗? 在设计流程的时候,画UML流程图吗??欢迎畅所欲言
解决方案 »
- 比较书法考试字体相似度,求高手
- 集结Struts2方面的朋友
- 新手学 cxf
- WebServices解析 XML 是中文问题 ??
- 使用wrapper把一个java应用假如到windows服务中以后,启动服务后,它又停止
- BufferedReader最多能读多少数据?
- [请教]怎么用MVC模式从数据库中取数据的例子
- ActiveMQ监控队列状态报javax.management.InstanceNotFoundException
- tomcat服务器文件不会自动更新
- 跪求weblogic8方面的中文教程(电子版)
- 关于不同客户端取System.currentTimeMillis()值不同的问题
- 在myelipse中写jsp代码出现了错误,该怎么调试?
但是好像不能生成实体吧????
实体要自己对照着数据库去建??
我用 JPA。如果是一个两个,我一般就自己写写代码了,如果有一堆的话,Eclipse JEE 自带个 Dali JPA 工具,或者使用 JBoss Tools 插件可以连接数据库生成 JPA 的 Entity 类的。
Eclipse JEE 自带个 Dali JPA 工具,或者使用 JBoss Tools 插件可以连接数据库生成 JPA 的 Entity 类的。原来如此:
一直不知道还有一个反向生成Entity类..呵呵 ,谢谢果子哥了。关于:我们对于有关联的数据表只建外建字段,不建外键引用,数据表的完整性引用依赖于程序代码。这句话,是不是可以这样理解:
现在有两张表:User (id,name...) USER_DETAIL(detail_id ,user_id....)
我们在建立实体user_detai的时候,
只会建立一个Integer user_id属性;而不会建立一个 User use的属性?但是我们在JPA机制里面在生成的实体一般机制都是后者,即建立一个User user属性,把两者关联起来。
只不过是把fetch=lazy
从这两点上看,这两种是不是在思想上不统一列?
对于主键列的命名,我不管是什么表,主键列都叫 ID,呵呵至于关联那个,这要看准备怎么用了。对于 USER 和 USER_DETAIL 表的话,使用 USER_DETAIL 在大多数时候不需要知道 USER 的数据,这样可能你会使用 FetchType.LAZY,在用到时现查,试想,这样与使用 USER 的 ID 直接查有什么区别?为什么全自动的 ORM 工具,在效率上要比半自动的 ORM 工具要差,在关联处理上是一点。全自动的 ORM 工具,只要一关联一般就得把关联表所有的字段全部查出来,哪怕我们只要用到一个字段。
现在明了很多了。。 顺便问一句果子哥,有没有什么比较好数据库设计方面的书或者资料。
还是这东西,完全靠经验积累?
拿螺丝上螺母和拿螺母上螺丝的问题,
哪边能动就上哪边。
上到位就行了。
见笑了。各位谈到的经验值得收录。谢了。
Mark