ORM 建模:数据库优先与类优先
我正在尝试使用Sparx Enterprise Architect来设计一个数据模型,该模型最终将出现在MySQL数据库中。
我的第一种方法是数据模型图,它可以用来生成DDL(或者通过逆向工程反过来)。
这很有效,但一位同事指出了一个障碍:我们打算使用ORM(几乎可以肯定是Hibernate)将表映射到Java类。他的评论是“数据库优先”的方法将排除使用良好的OO技术,如继承。
这似乎是一个很好的观点,但我想知道是否有任何限制。如果我从头开始使用类图而不是数据模型图,是否有一种方法可以在此模型中包含所有必要的Hibernate注释,配置等?如果我以后需要对特定于数据库的功能(如约束、触发器等)进行建模,那么在模型中,鉴于类图并不是真正针对此类事物,那么所有这些在模型中是否成为可能?