mybatis 使用场景
1.Database design is often a separate function (with separate management) from OO domain design
数据库设计和oo业务设计分离的情况
2.Database designers do not have OO tools (like inheritance), so they don't think in OO terms
因为数据库设计和 oo业务设计不同(数据库设计没有继承),所以数据库设计不能像oo一样设计
3.Application designers do not have complete control over the final form of database tables. For example, the data that seems to fit in one object for the application, may be split into several tables in the database.
在应用层,有可能一个业务对象,对应的是数据库中若干表。
4.The database design often ends up quite different from the OO design, leading to a significant mismatch between tables and objects.
数据库设计出来的表和应用中oo设计分歧很大
Hibernate 的设计哲学
以应用中的业务oodesign 为中心,强制要求表的schema 遵循 oo 设计的业务模型。并且业务的推进,都是以业务对象为中心。