hibernate:面向对象查询语言 HQL
ibatis:集中管理SQL+动态SQL
freyja:缓存
freyja开始于一个游戏项目,因为本身没有游戏经验,把之前的那一套带进了游戏,结果很不理想。
观察的一段时间之后,我发现目前对java的一些框架有这么一个看法:
“ 高效率的用JDBC,开发快就ORM。”
让我不明白的是ORM也不过JDBC的封装,用了一些反射进行结果集映射。这个差距就有这么大?再者ORM提高开发效率是显而易见的,问题是怎么去解决效率问题。自然是处理缓存,怎么处理?像hibernate、ibatis一样一旦update就把所有缓存clean?
就如blog上记载的,一步一步的观察、发现,freyja对缓存的处理能力越来越强大。由此一来就能打造出一款高性能ORM框架。
凡是都有代价的,你想提高一倍效率就要付出一倍其他东西。但是到现在看来我对freyja最大的感触就是不需要去改动业务代码,我所做的仅仅是把hibernate给删了。然后整个游戏的性能带来了巨大的提升。做到了用户大部分操作不需要再和数据库打交道,直接内存操作。
至于开发效率,毫无疑问会让人想到hibernate。hibernate的HQL应该能给大家带来不少方便。尤其是实体关联,能查询出一个就能把其他的实体一并加载进来。
虽然HQL有这个便利,但是我觉得HQL是不需要的。配置好实体关系之后,实体与实体之间就能形成一个网络。我们只需要SQL+实体关联就行。至于关联操作其实也不推介,个人认为对实体操作都要做到自己控制。于是在freyja里面仅仅提供了一个@many注解来方便查询。
freyja的jdbc操作都是由springJdbcTemplate完成。springJdbcTemplate不是一个ORM框架,但是通过freyja的改造之后,springJdbcTemplate在映射部分就没问题了。
hibernate、ibatis > springJdbcTemplate !
ORM和JdbcTemplate之类的关键区别在于SQL解析。
freyja与hibernate、ibatis不同之处在于freyja在完成了ORM框架的基本解析工作之后重点发展缓存去了。ORM天生就能够操作缓存,freyja就是看出了这种天然的能力才会大力往缓存方向进攻。虽然说暂时对联表查询没有太好的办法,但是只是我希望freyja能够把单表CURD变为纯内存操作。让freyja变为游戏类java 主打ORM框架,致力于快速开发和高效缓存支持。
freyja对SQL有这么一个原则:虽然不能为SQL提供缓存,但结果集映射是必须的。
坚持这个原则以防止freyja对SQL的支持不够好。也就是说fryeja再不济,也不过是执行了一句没有缓存的SQL查询。
待续。。。
分享到:
相关推荐
Struts2 Spring Hibernate IBatis Struts2 Spring Hibernate IBatisStruts2 Spring Hibernate IBatisStruts2 Spring Hibernate IBatis 只需要导入相应的jar包就行了 ,数据库是mysql :数据库名叫做mydatabase,表名...
在IT行业中,Spring、Hibernate和Ibatis是三个非常重要的框架,它们各自在不同的领域发挥着重要作用。Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等功能;...
在IT行业中,Spring、Hibernate和iBatis是Java企业级应用开发中不可或缺的三大框架,它们各自专注于不同的领域,但可以协同工作以构建强大的数据驱动应用程序。本指南将围绕这三大框架,帮助初学者理解它们的核心...
《夏昕的3部开发手册》是一套针对Java开发者的重要参考资料,主要涵盖了三大热门框架——Hibernate、Ibatis和Spring的深度解析。这三者在Java企业级应用开发中扮演着核心角色,是构建高效、可扩展后端服务的基石。 ...
本文主要讨论的是如何将Hessian RPC与RMI技术整合到Structs、Spring、Hibernate和Ibatis这四个关键的Java开发框架中,以构建一个高效、灵活的分布式应用程序。 1. **Hessian配置说明**: Hessian的配置通常涉及...
标题中的"springmvc_hibernate_ibatis_jdbc"指的是一个整合了SpringMVC、Hibernate、iBatis和JDBC这四种关键技术的Java应用框架。这个框架旨在提供一个全面且强大的解决方案,便于开发人员进行Web应用程序的构建。 ...
Struts1、Spring、Hibernate和iBatis是Java Web开发中的四大框架,它们共同构建了一个强大的后端架构,用于处理复杂的企业级应用。这个集成方案旨在优化开发流程,提高代码的可维护性和可扩展性。 Struts1是MVC...
【开发指南(spring,hibernate,ibatis,webwork)】 在软件开发领域,Spring、Hibernate、iBatis和WebWork是四个重要的框架,它们分别在不同的层面为开发者提供了便利。下面将对这些框架进行详细阐述。 1. **Spring...
Spring MVC、Hibernate和iBatis是Java开发中常用的三大框架,它们在Web应用程序开发中各自承担着不同的职责。本教程将深入探讨这三个框架的核心概念、使用方法以及它们之间的协同工作。 **Spring MVC** 是Spring...
### iBatis与Hibernate的主要区别 #### 一、概述 iBatis与Hibernate都是Java领域内流行的ORM(Object-Relational Mapping,对象关系映射)框架,用于简化Java应用程序与数据库之间的交互。尽管它们有着相似的目标,...
【ibatis和Hibernate的区别】 在Java开发中,ibatis和Hibernate都是常见的对象关系映射(ORM)框架,它们简化了数据库操作,将Java对象与数据库表之间的映射关系抽象出来,使得开发人员可以使用面向对象的方式处理...
-- Be familiar with popular web development frameworks and tools, such as Struts, Spring, Hibernate. -- Good knowledge of database systems and development. -- Familiar with DB2 development tools and ...
Struts2、Hibernate和iBatis是Java Web开发中三个非常重要的开源框架,它们分别用于MVC(模型-视图-控制器)架构、对象关系映射(ORM)和SQL映射。将这三个框架整合在一起可以构建高效、灵活的Web应用程序。 **...
在IT行业中,开发高效、可维护的Web应用是至关重要的,而`JSP`、`Struts`、`Hibernate`和`iBatis`这四个技术框架是Java Web开发领域中的核心工具。这个名为"jsp+struct+hibernate+ibatis资源集锦珍藏"的压缩包显然...
Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...
### ibatis和Hibernate的简单介绍 #### 一、ibatis简介 ibatis是Apache软件基金会的一个开源项目,它提供了一种轻量级的Java持久层框架。ibatis的核心功能是将SQL语句与Java代码分离,使开发人员可以更加专注于...
Struts2、Spring、iBatis 和 Hibernate 是四个在 Java Web 开发中广泛使用的开源框架。这个项目将它们集成为一个整体,为初学者提供了一个学习和理解这些技术如何协同工作的实例。 **Struts2** 是一个基于 Model-...
### ibatis 与 hibernate 之间的比较:优点和缺点 #### 概述 在 Java 开发领域中,对象关系映射(Object Relational Mapping,简称 ORM)是一种将面向对象编程语言中的对象模型与数据库系统中的关系模型相互转换的...
### Hibernate与iBATIS对比分析 #### 一、概述 在Java开发领域,尤其是在企业级应用开发中,ORM(Object Relational Mapping,对象关系映射)框架扮演着至关重要的角色。其中,Hibernate与iBATIS作为两种最为知名...