(一)hql
【程序编程相关:DODS学习日记(三) 】hql:hibernate qusery language,如果你已经熟悉它,就会发现它跟sql非常相像.不过 你不要被表面的假象迷惑,hql是面向对象的(oo,用生命的眼光看待每一个对象,他们是如此 鲜活).如果你对java与sql语句有一定了解的话,那么hql对你简直易如反掌,你完全可以利用在公车上的时间掌握它.以下从几个方面进行慢慢深入:1.大小些敏感大家知道sql-92 query是对大小写不敏感的,但是在hql(前面提到它是oo的)中对对象类的名称与属性确实大小写敏感的(符合java编程语法).【推荐阅读:DODS学习日记(四) 】
【扩展信息:2005年4月8日--正式开始我的Jav】hql 子句本身大小写无关,但是其中出现的类名与属性名必须注意大小写区分如:select cat.name from cat as cat与select cat.name from cat as cat是一样的但是:select cat.name from cat as cat与select cat.name from cat as cat确实不一样的.2.from语句最简单的:from eg.cat 它只是简单的返回所有eg.cat的实例,通常我们此时会为eg.cat其个别名,因为在query的其余部分可能会用到(参看上边关于大小写敏感时的例子情形),如:from eg.cat as cat 这里as可以省略.上边只是单表查询,多表的情况如下写法:from eg.cat, eg.dogfrom eg.cat as cat, eg.dog as dog3.join相关(inner) joinleft (outer) joinright (outer) joinfull joinhql同样对sql中的这些特性支持下面插播一个小话题,关于上边的那些特性,我一直都没怎么用,今天既然说到这里,就想把上边的几个特性的用法说一下,也算对自己的一个补充:假设有两个表:部门.员工,下面列举一些数据:员工(employee): id name depno 001 jplateau 01 002 jony 01 003 camel 02部门(department): id name 01 研发部 02 营销部在hibernate中我们操纵的都是对象,所以我们操纵的是部门类与员工类 ... 下一页