使用JDBMonitor剖析Hibernate的实现机制

使用JDBMonitor剖析Hibernate的实现机制

现在java社区里边ORMMaping的框架有很多,竞争相当激烈,JDO、Hibernate、iBatis等等你方唱罢我登场。我也想自己实现一个ORMMaping,当然并不是想“重复发明轮子”,只是想通过写一个简单的ORM来弄明白ORM内部究竟是怎么工作的,比如LazyLoading如何实现,如果在关系数据库中模拟对象继承。明白了内部实现机制,也就会更容易更高效的使用这些ORM框架。

我打算从最流行的Hibernate开刀。我想先通过一些典型的ORM增删改操作来探索。Hibernate的内部结构是相当复杂的,如果采取跟踪的方式探索的话肯定会跟的头昏脑胀。因为无论是什么ORM框架,它最终都是通过生成SQL语句的方式通过JDBC来操纵数据库。所以我打算首先要看一下它是怎么生成SQL语句的。在MSSQLServer中,可以使用事件监听器来查看生成的SQL语句,而在其他数据库系统总就没有这么方便的工具了。我在网上找到了数据库监控、日志工具JDBMonitor。JDBMonitor(http://www.cownew.com)是一个开源项目。使用它开发者可以很轻松为系统增加数据库执行日志功能。它使用十分方便,您所需要做的唯一事情就是在您系统的JDBC连接字符串前增加类似于 "listenerconfig=/config.xml:url=" 的字符即可,不用写任何代码。使用 JDBMonitor,您可以把数据库执行情况记录通过各种方式记录下来,比如打印到控制台、输出到文件或者通过socket传送给远程客户端。这个工具不仅仅可以用来当作数据库日志框架使用,而且由于它可以监听所有的数据库操作,所以可以当作数据监控工具使用。

JDBMonitor是模拟成JDBC驱动的方式来实现这个功能的。所以要修改Hibernate的相应配置项要Hibernate加载

 

你可能感兴趣的:(sql,Hibernate,框架,ibatis,orm)