论坛首页 Java企业应用论坛

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

浏览 10395 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (2) :: 隐藏帖 (6)
作者 正文
   发表时间:2009-11-02  
zspzlxn 写道
qiren83 写道
好像不错,可否将visit3.0.jar 源码公布下
让大家学习下

重构版本没写注释,不怎么好看啊!但比Hibernate的源码容易看多了
实在小啊,源码大小不及Hibernate的1/20.....哈哈,看看还是不错的



感谢楼主
下午不做事了 看你代码了 呵呵
0 请登录后投票
   发表时间:2009-11-02  
我 顶。

我 顶楼主这样的造轮子的行为。

老吃现成的就退化了。

跟吃麦当劳似的,死肥死肥没营养。

有些东西真不如自己动手来的舒服。

让嗯多XML配置见鬼去吧!
0 请登录后投票
   发表时间:2009-11-02  
让annotation也见鬼去吧.
0 请登录后投票
   发表时间:2009-11-02  
不错啊,粗略瞄了一下,楼主要是在2000年就有这想法,估计HIBERNATE就是中国人做的了,翻页时不小心点到新手贴,不好意思。
0 请登录后投票
   发表时间:2009-11-02  
请问LZ com.tepando的源码:)
0 请登录后投票
   发表时间:2009-11-02  
这个不成火候的。只能说是一个很简单的东西,以下几个问题需要思考
1. 这里终归是一种SQL的组合,也就是只是对拼接SQL的一种简化。
2. 这里没有一种HQL之类的语法规则来作为自己的查询语言来屏蔽底层的SQL。
3. 这里model都是public的,这样虽然容易使用,但是它这种做法在和整个java世界为敌,这种对象无法使用beanutils,无法和现有的各种开源框架组合在一起使用。因为它不是javabean。

如果说这个和hibernate比,那是没有办法比的。hibernate有自己的查询语言,根据不同的数据库类型会有相应的优化方法。这种语法的推导和优化手法不必数据库的SQL分析器简单。单单这一点,这个程序都没有办法相比。
0 请登录后投票
   发表时间:2009-11-03  
lgdlgd 写道
com.tepando

这个是以前版依赖的工具包,验证框架也在这个包里面,重构我把它合到一起了,并没有使用到这个包了
userya 写道
让annotation也见鬼去吧


存在即合理,没啥好争的!方便,觉得用得习惯就行
fireflyc 写道
1. 这里终归是一种SQL的组合,也就是只是对拼接SQL的一种简化。
2. 这里没有一种HQL之类的语法规则来作为自己的查询语言来屏蔽底层的SQL。
3. 这里model都是public的,这样虽然容易使用,但是它这种做法在和整个java世界为敌,这种对象无法使用beanutils,无法和现有的各种开源框架组合在一起使用。因为它不是javabean。

呵呵,本来就不是和Hibernate比,不可能做的像HIbernate那样大而全
1、确实是简单的拼接,把成员变量名替代为字段名
2、HQL本身的语法规则是SQL的面向对象化及扩展
3、Model两种都支持(public和get/set),这里简写了
------------------------------------------------------------------
    鄙人最初造这个轮子的目的是为了学习JDBC和Hibernate,根据工作经验,加入了自已的一些想法。当初并没有打算把它应用到项目中,后来用到了项目中也是偶然的。
     每个人的学习方法不一样,我的学习方法就是造轮子。我造过的轮子还蛮多的,哈哈,SPRING,Struts,JSTL,SOA总线,工作流,Web容器等等.....这些轮子都加入了自已的想法,但基本上没应到项目,因为没法跟稳定成熟的产品比。
     因尔,这个项目并不推荐大家使用,学习学习即可!学习一门技术,看书不如造轮子,会带来很多好处,如造个Web服务器,就能把线程、HTTP协议、网络IO流、Servlet/JSP规范弄得比较透,就不会出现学了几个月后会写Action不会写Servlet的尴尬.


0 请登录后投票
   发表时间:2009-11-05  
fireflyc 写道
这个不成火候的。只能说是一个很简单的东西,以下几个问题需要思考
1. 这里终归是一种SQL的组合,也就是只是对拼接SQL的一种简化。
2. 这里没有一种HQL之类的语法规则来作为自己的查询语言来屏蔽底层的SQL。
3. 这里model都是public的,这样虽然容易使用,但是它这种做法在和整个java世界为敌,这种对象无法使用beanutils,无法和现有的各种开源框架组合在一起使用。因为它不是javabean。

如果说这个和hibernate比,那是没有办法比的。hibernate有自己的查询语言,根据不同的数据库类型会有相应的优化方法。这种语法的推导和优化手法不必数据库的SQL分析器简单。单单这一点,这个程序都没有办法相比。


1、就是要简化,越弄越复杂是跟在跟谁较劲?

2、为什么要用HQL?

3、java不是学术研究,是实用,是用来开发软件的。只要能开发出稳定的软件,满足需求,我们不介意跟任何人做对。(你知道JavaBean规范对方法里面对方法前两个字母的大小写有个特别的处理吗,如果两个都是大写字母就不转换第一个,你知道那有多恶心么)。

4、hibernate万岁,万岁。我们两个应用部署在一台机器上,一个用了,一个没用hibernate,用了hibernate的应用把内存吃光,害的weblogic一天重启一次。
0 请登录后投票
   发表时间:2009-11-05  
PS:那个用了hibernate的应用是一个开源的Blog。
0 请登录后投票
   发表时间:2009-11-05  
不错,不过貌似要一定的技术来支持,我也想过自己造。可惜技术不过关,努力中。

用别人的只能永远跟着别人跑,别人怎样写,你就只能这样做,你做的工作永远都是跟着别人的脚步。这种说法可能片面,但我是这样想的。当初选择。NET还是JAVA的时候我选择了JAVA,因为他开源,你知道怎么用,你还可以知道他是怎样做到的,那么你就有可能模仿甚至创新。开发,不能永远都是只会使用别人的东西。
0 请登录后投票
论坛首页 Java企业应用版

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