幽默:不喜欢ORM的原因:凭什么让应用程序定义数据表结构?数据库寿命比应用更长啊 - Michael


对于ORM和OGM,我从未喜欢过的一件事:让应用程序定义数据库表结构、索引或约束。为什么?因为我认为数据库通常比应用程序寿命更长。

众说纷纭:
不同意,在结构良好的系统中,您既没有整体数据库,也没有单一数据模型。就是说,如何存储数据是一个非常本地的决定,而且我认为它不如系统中各部分用来交互的API更为重要。

如果数据库的寿命超过了应用程序的寿命,则您隐式地将数据库用作集成层。它不一定是最佳选择。

数据库只是应用程序的副产品。数据肯定比应用程序持久,但是数据库呢?则不是。

在使用ORM时,应用程序为什么要定义数据库结构?那几乎总是一个坏主意。所有常用的ORM都具有足够的灵活性来映射各种表模型。在我们的Java领域,JPA和Hibernate是如此灵活,以至于您可以将最模糊的35岁的表模型映射到一个完全不同的,过于复杂的类结构中。

banq注:无论是数据库和应用程序,他们都受到技术条件的限制,总有过时的时候,谁的寿命更长是五十步和一百步的区别,与技术无关的业务模型才是最长寿,有自己的演进规则。