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