阅读更多

34顶
31踩

企业架构

原创新闻 仅1300行代码即可替换Hibernate

2009-10-26 15:59 by 副主编 zly06 评论(61) 有24798人浏览

Kauklahti 是一个开源工具,它的目的是尽可能的让ORM保持简单。它集成了Spring 的JdbcTemplate,很像BeanPropertyRowMapper。但是它添加了对table的支持,full CRUD generation。

Kauklahti 不使用XML或注释。它提供简单的编程API。它的持久层非常明显,易于运行,测试和调试,唯一需要的依赖是 Log4j。

不久之前,在一个中等规模的项目中,使用Kauklahti与简单的1300行 LOC library就成功的取代了Hibernate。

更多详情:http://blog.devtrain.fi/2009/10/18/kauklahti-making-orm-simple

来自: theserverside
34
31
评论 共 61 条 请登录后发表评论
61 楼 fehly 2010-03-22 23:21
哎,让我想起了一句话,一个项目不可能一种没把握不成熟的技术,那样就好像为项目安装了一个定时炸_弹....除非有人愿意拿着手上的项目来做实验
60 楼 liuming 2009-11-01 03:23
不懂用刀的人,伤着了自己,不能怪刀不好,更不能怪春哥不保佑你,只能怪你自己没用。
59 楼 liyaxi 2009-10-29 12:24
hibernate  代替ejb的Entity Bean  的cmp的产物 , 逐渐成为orm的主流, 现在的jpa
的元注解 有是一个标准规范(可以有不同的orm框架实现切换 实现代码的改动量最小) , 为什么要用orm 框架 主要是jdbc 的太繁琐了。 我看sun 是否能使 jdbc 更加简单易用 我还是愿意用原生的sql 操作 数据库。 用orm框架 不仅要精通数据库, 而且必须精通 orm 框架。  其实最复杂的应用大部分在(crud) r上。 orm 虽然简化了jdbc  方便程序员用面向对象的思想去操作数据库, 但在好多方面有时让程序员 有老虎吃天,没处下爪 之感。 没有万能 , 只有个人的修为高低, jdbc 是程序员创造的,  hibenate 也是程序员创造的 ,Kauklahti 也是程序员创造的。  了解原理, 了解真相 , 将更加自由。
58 楼 LopezMagic 2009-10-29 10:55
Hibernate  有好的querycache了吗
57 楼 caoyangx 2009-10-29 10:15
这东西看了一下,基本是在spingjdbctemplate基础上的封装,主要功能就是模仿hibernate的对象映射,降低sql的操作,感觉有点弱智的idea。使用jdbc的主要原因就是追求性能及sql透明可控,这样一来,不又回到问题的争端,不愿意用hibernate的人,永远都不会用这个模仿者,模仿的越像就越是不用,而用管hibernate的人将更会排斥这个被阉割的orm技术。
但从代码精简来说,看过的源码,1300多行来做对象映射还是留有空间的,因为spring的jdbc封装已经很不错了,稍优化一下,k行左右甚至更少还是是有可能的。
56 楼 elifefly 2009-10-28 23:13
这么牛的话,H可以立即倒了。。。。
55 楼 cn-done 2009-10-28 20:32
习惯了原生SQL 
反倒用这些配置不习惯哦
ibatis 貌似在原生SQL支持上做的不错。
用起来比较灵活
54 楼 snipercc 2009-10-28 17:37
这个标题是在是不厚道阿,有标题党的嫌疑
53 楼 zzttianshiyi 2009-10-28 17:25
我为什么要替换呢?还要用1300行!
52 楼 orpheus 2009-10-28 14:06
被标题吸引过来的。。。这东西最多是个工具包而已。
51 楼 leiwuluan 2009-10-28 12:41
查看中。。。
50 楼 peak 2009-10-28 12:04
要是1300行的话,那hibernate岂不是白痴写的程序了
看说明好像是用的spring的jdbc模块啊……
49 楼 youjianbo_han_87 2009-10-28 11:41
是真的吗? 1300行只是调用代码吧,后面还是用 Hibernate吧(猜测)
48 楼 wangtiantian666 2009-10-28 09:57
是呀,这种新闻就不用说了,一定根据都没有呀
47 楼 loveegg133 2009-10-28 09:48
46 楼 Frederick 2009-10-28 09:25
天机老人 写道
我们的项目打算不用Hibernate因为,性能上的调优确实是个非常饶人的事情

正在开发的一个系统用的是ibatis,原因就是性能和调优。因为hibernate的调优精通的人不多,而jdbc可以交给专职oracle dba 去调优。

但是在性能要求不是那么高的系统上,我还是会选择使用hibernate。
45 楼 Frederick 2009-10-28 09:18
一开始在用hibernate,后来尝试用jpa,发现其他实现jpa标准有些功能没有,最后还是用了hiberante的jpa实现,这样就可以利用jpa的扩展。

不知道这些缺失了的功能在jpa2.0中会不会提供,否则我还是只用hibernate
44 楼 zwq4166506 2009-10-28 08:43
tianlang0101 写道
netbaixc_gmail_com 写道
关注Hibernate的同行应该关注下JPA了。

唯一一句有含量的话

Frederick 写道
喧哗取宠......

JPA2.0就快来了
43 楼 天机老人 2009-10-28 08:32
我们的项目打算不用Hibernate因为,性能上的调优确实是个非常饶人的事情
42 楼 zhengyutong 2009-10-28 08:25
lemonweirui 写道
Craft 写道
Hibernate千秋万载,一统江湖!


哈哈。。现在越来越觉的Hibernate是王道了。

当然iBATIS也是不错的选择。

金庸武侠看多了吧。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • wpf 动态合并datagrid表头单元格

    wpf 动态合并datagrid表头单元格

  • datagrid合并指定合并单元格.txt

    datagrid指定"列数"进行合并,当创建报表表格的时候,有合并需求并使用datagrid进行合并列的时候总是无从下手,此资源可以让你按照特定列,想让那列合并就可以让那列进行合并。也可以只根据某列进行合并,非常好用

  • WPF Datagrid 合并单元格

    WPF Datagrid 合并单元格 复杂表头 支持位置拖动、 列宽度拖动,组内列会按比例自动调整 ;

  • DataGridView合并单元格(多行多列合并)

    一、点击在拖入的显示控件(TreeList)右上方的箭头,在Treelist任务中选择数据源,添加项目数据源,依次选择数据库、数据集,新建连接,浏览选择数据库(*.mdb),依次点击 下一步,选择“表”,完成。 二、具体代码如下: #region"合并单元格(多行多列)" //需要(行、列)合并的所有列标题名 List&lt...

  • WPF DataGrid合并单元格

    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="MainWindow" Height="350" Width="625">

  • DataGridView合并单元格(一列或一行)

    #region"合并单元格的测试(一列或一行)" // int?是搜索一种类型(可空类型),普通的int不能为null,而用int?,其值可以为null //private int? nextrow = null; //private int? nextcol = null; //在CellPainting方法后调用 privatevoiddataGridView1_CellF...

  • 在Winfrom下的对DataGridView单元格合并

    最近接了一个若差事,要在DataGridView中实现单元格合并,嘿,可搞惨我也,要是Asp.net中对我不是小菜碟吗?找了老半天,也没见一个现成例子,小鸟没法只能自己写了一个变想的,只实现了横向单元格合并,纵向还没时间做,如有哪位高手能把它加工,小弟会感激不尽,哈哈,费话少说,转入正题,请看代码:using System;using System.Collections.Generic;usin...

  • winform TableLayoutPanel 设置合并行(RowSpan)

    近期写一个软件,它有原型,是另外一人用MFC写的,现在我的任务是用winform(C#)重写。今天遇到一个界面设计的问题: 原版:这个区域里面的内容,是自由排列的,不过大致可以看成是4x4的表格,不过第四列,纵向只有三个元素, 现在要在winform版中重现这个区域,设计时,我用了TableLayoutPanel进行布局。 问题来了,TableLayoutPanel是自动排列的表格,对于...

  • winform记录

    datagridview合并单元格

  • datagridview单元格合并居中_合并相同单元格内容,这两种方法你应该知道

    我们在日常工作中,合并单元格内容不用想,用到的肯定是非常多的,比如内容相同的合并到一起,或者对合并后的内容填充序号等等比如像下面这样的数据,我想把部门一样的合并到一起,如果一个个的合并那效率会非常,如何快速的合并呢?今天主要给大家介绍下,相同的内容如何快速的合并到一起01数据透视表法1、首先我们选择需要合并的数据区域,点击-【插入】-【数据透视表】,数据表位置选择现有工作表,并选择任意单元格,点击...

  • DataGridView 合并同一列中值相同的相邻单元格 合并单元格

    /// /// 合并同一列中值相同的相邻单元格 /// /// DataGridView /// 要合并的列的索引列表 /// 当前单元格的属性访问器 private void MergeCellInOneColumn(DataGridView dgv, List columnIndexList,

  • DataGridView 合并相邻单元格(同一列中值相同)

    注意:一定要设置DataGridView的“启用添加”是关闭状态,DataGridView最后有一行空行,造成BUG. System.NullReferenceException:“未将对象引用设置到对象的实例。” System.Windows.Forms.DataGridViewCellPaintingEventArgs.Value.get 返回 null。 合并单元格可以参考 https://www.cnblogs.com/bloodofhero/archive/2012/07/05/2578068

  • C# wpf中DataGrid 支持汇总行

    最近有一个需求,需要汇总金额,份额等字段。我们使用的是原生的WPF控件,自己开发了一套Template。而没有使用比较成熟的第三方控件。所以这个功能得自己开发。并且要做成控件层次的功能。 当然也可以这样做,在ItemSource数据中手动汇总一行并显示。但这样做是纯业务层次的东西。且每个不同的界面。要做不同的业务逻辑处理。太LOW。 思路: 我们先来看下WPF原生DataGrid的模板,发...

  • Dev GridView Winform 横竖合并单元格

    参考:http://bbs.csdn.net/topics/390692607源码下载地址:下载以下源码:待合并单元格对象using System;using System.Collections.Generic;using System.Linq;using System.Text;using DevExpress.XtraGrid.Columns;namespace MyUtil{ pu

  • 【转】datagridview 动态合并单元格代码

    转自:http://www.360doc.com/content/12/1219/22/10939365_255183523.shtml 效果如下图第一列“国家”,相同的数据可以合并为一个单元格显示。 我的datagridview数据源是通过图形化界面拖放dataset与数据库教程绑定的    /// /// 合并GridView中某列相同信息的行(单元格) 

  • c# winform datatable合并单元格_winform项目——仿QQ即时通讯程序03:搭建登录界面...

    上两篇文章已经对CIM仿QQ即时通讯项目进行了需求分析和数据库设计。winform项目——仿QQ即时通讯程序01:原理及项目分析winform项目——仿QQ即时通讯程序02:数据库分析与设计今天这篇文章本来打算介绍CIM所有的界面设计,CIM的界面总共有7个,分别是登录界面、主界面、聊天界面、搜索好友界面、添加好友界面、个人数据界面、验证消息界面。为了照顾新手,我将对登录界面的搭建进行非常详细的讲...

  • 关于使用DataGridview列合并与同样的内容的行合并

    例子: 重写 datagridview using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Drawing.Design; using System.Windows.Forms; /// <summary> /// DataGridView行合并.请对属性MergeColumnNames 赋值既可 /// </su

  • Easyui Datagrid相同连续列合并扩展(一)

    一.autoMergeCellAndCells实现效果 function onLoadSuccess(data){ $(this).datagrid("autoMergeCellAndCells",['productid','productname']); }   二.autoMergeCells实现效果 function onLoadSuccess(...

Global site tag (gtag.js) - Google Analytics