论坛首页 Java企业应用论坛

造了个Hibernate的小轮子,显丑下

浏览 10396 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (6)
作者 正文
   发表时间:2009-11-06  
matt.u 写道
不如写一个语法分析器,让hql支持动态查询方式。
如 select t from Table t where t.name = :name [and t.location=:location]
如果location为空就不要后面的条件。

不知道分页查询设置setFirstResult和setMaxResults也有类似的语法
0 请登录后投票
   发表时间:2009-11-06   最后修改:2009-11-06
还是那句话哈,存在即合理。我造了些轮子,想造一个比较通用、全面、稳定的轮子是不容易的,我一般造了后BUG都懒得改的,只是学习。。。。。。
这个轮子也不是很成熟的,学学可以哈。。
------------------------------
这个项目也有一些特点,简单精悍,时间和空间复杂度比Hibernate要低得多,但不支持的功能也多了,如拦截器、一对多、多对多关系映射等,当然也加入了自已的一些想法;
    1\ Hibernate中拦截器不常用也不大实用,而且必须用到动态代理(比较耗),所以就不支持了
     2\ 一对多,多对多等不支持也是有原因的,互联网项目一般要做数据缓存,级联查询\更新不利于控制缓存的
     3\一级缓存,二级缓存 个人认为Hibernate的缓存只有在超长的事务中有比较大的优化,对于互联网项目,自已做缓存的话,这个就没意义了
     4\事务控制  事务API很简单,支持分布式事务,没有Hibernate\Ibatis复杂,更没有JTA复杂,只能应用普通场景,对于银行电信级项目不适用
     5\验证框架(自已加的)  所有数据都是通过持久层存入数据库的,在这加入验证框架,能保证所有的数据的完整性,也就不必要在数据库中添加约束,增加数据库负担
     6\不支持二进制数据  二进制数据不常用,不提供支持  
     7\没有xml文件,全是annotation  感觉一个包中文件太多了有点不爽,一个BEAN文件能看到所有,比较直观
--------------------说白了,为自已项目定做的,啥啥
      
0 请登录后投票
   发表时间:2009-11-06  
ycysth 写道
不知道分页查询设置setFirstResult和setMaxResults也有类似的语法

当然提供,自动分页支持
0 请登录后投票
   发表时间:2009-11-09  
fansofjava 写道
这种造法没多大意义,如果一定要造,直接造Criteria查询,更符合OO风格。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics