该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-02
yuxiangel007 写道 学习一下 ^0^
共同学习,可以给一点建议什么的,帮助我改进。 |
|
返回顶楼 | |
发表时间:2009-04-02
starfeng 写道 看了一下.可是感觉就像是把除了把Hibernate Critia的所有方法加了个$的前缀外, 然后把引用变成继承外, 没任何不同啊? 是不是我理解错了...
比方: $eq("useYn","Y") ==> Restrictions.eq("useYn","Y") 继承虽然省去了一个Class名的引用(或对象的引用),比方"Restrictions.", 看起来少写了一点代码,但他带来的高耦合是得不偿失的. 没错,我是把构造Criterion的各种方法都以$来代替再加上逻辑代号 $eq("useYn","Y") ==> Restrictions.eq("useYn","Y") 你说的完全正确 可光这样还不行啊,这样只构造了Criterion,$eq("useYn","Y")他的操作是构造了Selector Selector里包含了Criterion来进行求值,前面我也说了 HQuery的实现99%基于Criteria 它只希望以JQuery形式的写法和特性来完成一些比较常见的操作, 再一个公司里随时会有新人报道,或者项目里随时会有人员变动,不保证所以人都会Hibernate 或者会Criterion 我封装了Criterion的目的也是希望他们不需要再去看Hibernate的相关文档,看下团队开发指南等就能快速上手, 而且出了问题也不需要他们去考虑如何解决,HQuery提供了自己的异常机制 能清楚的定位是什么地方出的问题。 thanks. |
|
返回顶楼 | |
发表时间:2009-04-02
黑暗浪子 写道 问一下,事务是怎么控制的?还有连接池,二级缓存这些还是和原来一样?
我只大致看了一下你的文章,问的问题也许初级,请见谅~ 盼望你的回复,谢谢。 事务采用annotation 在方法上进行声明 @Transactional(type = TransactionType.READ_WRITE) public void xxx(){ $().save(); } 类似上面这样的 连接池这个可以自行更换,HQuery如果需要集成到您的项目中 只需要继承HQuery 实现他的抽象方法getSession(); HQuery内部会进行调用, 至于Session的管理方法是由您的项目去定制的,我只关心给我的Session是可用的就OK 缓存这些同理。 它的定位只是一个帮助快速操作HibernateAPI 并且封装一些常用写法 帮助大家而已。 |
|
返回顶楼 | |
发表时间:2009-04-02
把我的框架整合到你那里如何?我的框架只处理HQL语句,和你的功能互补。
|
|
返回顶楼 | |
发表时间:2009-04-02
已经将HQuery beta版上传,尝新的朋友可下载使用 欢迎提出各种问题,一起完善。
|
|
返回顶楼 | |
发表时间:2009-04-02
厉害,这样也行,等你发布了好好试试。还有楼主基本每贴都回复了,有耐心
|
|
返回顶楼 | |
发表时间:2009-04-02
魔力猫咪 写道 把我的框架整合到你那里如何?我的框架只处理HQL语句,和你的功能互补。
是个想法,我的guiceSide有点大,什么破东西都有 总之就是基于google-guice 抛弃了spring 自己实现了webwork的一些亮点的一个乱七八糟的东西,谢谢你看得上。 |
|
返回顶楼 | |
发表时间:2009-04-02
flyfan 写道 厉害,这样也行,等你发布了好好试试。还有楼主基本每贴都回复了,有耐心
只有交流 才能做出比较完善的东西 在实际开发中不是也一样嘛。 已经上传beta版 有点简陋 但是包括全部功能 等明天弄API给大家看看。 PS:我还不知道那JAR 包能不能跑呢 呵呵。 |
|
返回顶楼 | |
发表时间:2009-04-03
最后修改:2009-04-03
QBC 一对多时,多方为EAGER加载,查询一方会有自动全连接的问题 不知道楼主是怎么解决这个问题的?
|
|
返回顶楼 | |
发表时间:2009-04-03
最后修改:2009-04-03
还是挺有想法的,不过好像除了少敲了几个字母以外,好像看不出什么原创性的东西。不知道能否加上一些动态查询的封装,比如对参数进行判断,当参数为null时,不用在外面再包一层来判断。
不过再怎么说,也比拼SQL的工具来得有想法。 |
|
返回顶楼 | |