1. Hibernate:优点:能够支持多种数据库;实现简单;支持cache、lazy load、查询缓存等特性。缺点:复杂的配置;存在性能问题。
2. JPA:优点:规范的抽象层;简单的API;可很容易集成ORM框架。缺点:运行缓慢;特定功能的支持较弱。
3. MyBatis:优点:支持动态SQL;自动映射;高可扩展性。缺点:繁琐的XML配置文件;受限制的灵活性。
4. iBATIS:优点:动态SQL支持;深度映射;可扩展性强。缺点:依赖XML配置文件;编写复杂查询比较困难;难以调试。
5. Spring Data JPA:优点:支持动态查询;支持自定义查询;简化查询配置。缺点:对象映射不够灵活;性能较低。
1. Hibernate:Hibernate是非常有名的开源ORM框架,它是一个用于数据库应用程序的框架,它将使用SQL语句的工作量减少到最低。Hibernate采用JPA规范,支持MySQL、Oracle等多种数据库,可非常轻松地对对象模型和关系模型进行交互。Hibernate的优点在于可灵活定义模式,可以支持表之间的复杂,它也支持带有HQL语句的缓存,可以在多线程环境下维护数据库连接,可以增加工作效率和削减访问资源的次数,更加稳定可靠。
2. MyBatis:MyBatis是一个开源框架,它可以将Java应用程序和关系数据库之间的SQL连接和映射建立起来。这种ORM框架可以在不修改已有代码的情况下,使用MyBatis进行灵活的持久化开发,支持新旧数据库。而且MyBatis也可以定义复杂的对象映射关系,在实现一些特殊查询功能时,也可以得心应手。当然也不乏MyBatis可以极为好用的语句缓存机制,可以减少数据库访问资源。
3. TopLink:TopLink是Oracle公司开发的面向Java EE的ORM框架,它可以将Java应用程序中的数据和关系非关系的数据库之间的映射建立起来。它使用Java EE标准,确保了更高的系统性能,更高的安全性能。TopLink专门针对Oracle数据库进行改进,能更好地支持版本跟踪、过期数据及异步操作,更加高效地完成数据库访问。
4. OpenJPA:OpenJPA是一个免费,开源的ORM框架,可实现Java应用程序和数据库之间的对象模型和对象关系建立起来。它的优点在于,它可以灵活支持复杂的sqy语句和语句扩展,可以支持多重继承实体及关联关系,支持级联存盘技术,可以减少数据库访问量,更加有效地完成数据库访问。
5. JOOQ:JOOQ是一款开源的ORM框架,使用JOOQ可以实现Java应用程序对SQL数据库的实时查询和更新,并且可以灵活处理多种数据库,适用于各种传统的关系数据库,以及一些NOSQL数据库。它具有建立安全和可维护的JDBC应用程序的能力。JOOQ拥有较强的性能,因自聪明的SQL编译器,能够将预编译的SQL语句转换为高效的数据批量操作能力,从而更好地实现数据库访问。