ORM在现实世界中

jos*_*osh 5 java orm hibernate jpa ibatis

我开始了一个我认为将持续多年的新项目.我决定使用ORM框架(或者是否使用一个).任何有经验的人都可以告诉我在实际应用程序中是否使用了orm框架.我想到的问题是:当我创建和修改我的实体时,orm工具将为我生成表和列等.但是,在项目投入使用并投入生产后,将无法进行某些数据库更改.这会阻碍项目的进展吗?如果我使用像ibatis这样的框架,我知道我只需要根据数据库的变化调整sql语句.有人能告诉我ORM工具是否在现场环境中幸存下来.在我的办公室,我们使用很久以前完成的基于Java的ERP,并且从未使用任何ORM框架完成.

问候.玩笑

Lar*_*ann 2

仅使用自动生成的模式进行早期开发和原型设计。生成的 DDL 几乎永远无法满足任何有经验的 DBA。此外,数据库的寿命将比当前应用程序代码的寿命更长,因此花时间进行设计通常是值得的。

选择映射器时,请选择灵活的映射器,并远离痴迷于对象的映射器,因为这些映射器通常仅支持有限的数据库自定义。Hibernate 糟糕的存储过程集成浮现在脑海中,就像 JPA 缺乏对自定义类型映射器的支持一样。

像IBatisEclipseLink这样的对象映射器是安全的选择,因为它们允许您映射几乎任何内容,确保您可以创建出色的域模型和漂亮的模式设计。另请注意,Spring JDBC已经取得了很大的进步(特别是非常方便的SimpleJDBCTemplate),因此虽然从技术上讲它不是 ORM,但它确实允许您做任何您想做的事情,而无需编写繁琐的 JDBC 样板代码。