1.对象与数据库的映射,关键在于对象关系的映射,但是没做到很理想,配置过多,控制复杂,另外还会出错。其实本质在于对象不够自由。
2.事务处理。这点上更容易出问题,相对于各种各样的事务管理器,要兼容是一个大问题,总归在各种应用服务器上有很多问题。其本质在于创建了一个自我数据存取小环境,必然面临各种兼容问题。
3.HQL语言。建立对象查询语言,类SQL,但是不同于任何一种SQL,调试环境复杂。本质在于创建了一种语言,增加学习成本。
减化hibernate,将其退化成一个sql生成器,既可以保留原有的主要功能,又可以兼容各种应用服务器和数据库服务器,另外还不需要学习HQL语言。
只需要一系列的功能函数,作一下包装,再根据不同数据库生成不同的SQL即可,连数据库类型都不用指定,因为从Connection中可以获得数据库类型属性。
假想中的API:
public Object ResultMapObject(ResultSet rs,String xml) //一行映射单个对象,可以用XML绑定,也可以不用。
public List SQLMapObjects(Connection conn,String []sqls,String xml) //将一堆SQL映射成一个对象树,可以用xml来描述绑定,也可以不用,仅使用ror方式的约定。
延伸阅读
文章来源于领测软件测试网 https://www.ltesting.net/