锁定老帖子 主题:如此orm?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-12
javaeyebird 写道 对于中小型的,没有遗留数据的项目,我都是用模型来生成ddl脚本,可以自己写一段代码来自动生成。 这个Hibernate中已经有了,无需再写代码自动生成 javaboy2006 写道 可以考虑使用代码自动生成工具 从po->ddl, hibernate自带 从db->po,以前用middlegen,不过生成出来的是po+xml,而且还有地方需要改。不知道有什么工具能生成比较好的(改动很小,甚至不用修改的)po+annotation 魔力猫咪 写道 很容易发生的。在现代敏捷开发中,数据结构因为需求的变化不断变化还是很常见的。所以现在推荐的设计都是通过对象自动生成数据库结构。只要类对象改了,那么数据库结构也自动变更。 这里我非常赞成。 ---------------------- 记得曾经也是以oo为中心进行设计的狂热分子。当时极度崇拜测试。每次写好po,就会把在内存中模拟他们在数据库的crud。一切通过之后,才开始采用db模拟实际环境。但是很不幸的是,往往过于理想了。很多时候,都存在po的频繁修改。最常见的莫过于需求的增加。当达到上百张表的时候,修改一个po或者说修改一个table都是一件麻烦事情,当然主要是麻烦在某些配置上。所以,才考虑到是否需要一个map能直接模拟动态的po。 |
|
返回顶楼 | |
发表时间:2008-11-12
garyzhangmin 写道 按理来说数据结构定好就不应该再修改了,前期花大量时间考虑数据结构分析业务需求是很重要的,考虑周全的数据结构是不再需要修修改改的,所以楼主这种经常改动表结构的问题不应该发生
说的很对 |
|
返回顶楼 | |
发表时间:2008-11-12
魔力猫咪 写道 很容易发生的。在现代敏捷开发中,数据结构因为需求的变化不断变化还是很常见的。所以现在推荐的设计都是通过对象自动生成数据库结构。只要类对象改了,那么数据库结构也自动变更。
同意,用Hibernate维护DB,这样比较好 |
|
返回顶楼 | |
发表时间:2008-11-12
最后修改:2008-11-12
魔力猫咪 写道 很容易发生的。在现代敏捷开发中,数据结构因为需求的变化不断变化还是很常见的。所以现在推荐的设计都是通过对象自动生成数据库结构。只要类对象改了,那么数据库结构也自动变更。
情理上懒人都比较喜欢这种方案的,但是现在真正OO的项目有多少?不多吧,大多还都是DB-oriented驱动的项目。与其不如反过来修改db的时候自动修改java代码。能不能猫咪给几个例子? 另外实际的情况中并不是一个对象对应一张表的啊 |
|
返回顶楼 | |
发表时间:2008-11-12
对象关联、链接表等等都是由框架自动生成。你可以在Domain和XML中用注释等方法进行配置,对数据库的生成进行一些定义。不过一般来说,只需要对字段的类型、是否可Null、长度等进行一些定义就可以了。
现在的框架自动生成数据库还是很不错的。比如我用的Grails和Toplink。只要在配置里设定了自动更新表结构,就可以在每次启动的时候自动进行数据库同步,这在开发的时候非常好用。 |
|
返回顶楼 | |
发表时间:2008-11-12
魔力猫咪 写道 对象关联、链接表等等都是由框架自动生成。你可以在Domain和XML中用注释等方法进行配置,对数据库的生成进行一些定义。不过一般来说,只需要对字段的类型、是否可Null、长度等进行一些定义就可以了。
现在的框架自动生成数据库还是很不错的。比如我用的Grails和Toplink。只要在配置里设定了自动更新表结构,就可以在每次启动的时候自动进行数据库同步,这在开发的时候非常好用。 同上,我也是这样用 设策略为update就OK了 |
|
返回顶楼 | |
发表时间:2008-11-12
觉得JDBC就好了
表整天折磨人 受够了 就JDBC |
|
返回顶楼 | |
发表时间:2008-11-12
最后修改:2008-11-12
Hibernate是面向对象的ORM,其理念应该是先有类然后再有库,然而现在大部分的项目都是先设计好了表和表关系然后反向工程生成xxx.hbm.xml,这种使用其实是背离面向对象设计原则的,所以才会有这种问题的发生。可是话又说回来,有多少设计愿意先画好类图,然后再根据类的关系设计库呢?见仁见智吧。。。
|
|
返回顶楼 | |
发表时间:2008-11-12
seam框架里面不是有数据库表字段映射界面表单控件的吗?这样可以省去大多比较普通的增删改查,而且楼主说的那种直接改动表接口,只要修改界面的name就ok了,本人没有用过seam框架,不过这套思路还是不错的,界面直接跑数据库够动态够灵活
|
|
返回顶楼 | |
发表时间:2008-11-12
我觉得我可以告诉你 不需要
|
|
返回顶楼 | |