
日志文章

Hibernate中的HQL的小问题
|
在Eclipse3.2提供了Hibernate的HQL查询编写工具,在其中可以书写HQL查询语句,执行后可以直接看到查询结果,这为我们编写程序带来了很大的方便.但是要注意在HQL语言中区分大小写,而在我们SQL语法中却不区分. HQL查询转换器表名区分大小写,他查询的是个类,首字母要大写,如from Student,如写成from student 则会引发错误,在Hibernate动态查询转换器中会输出如下异常信息: 如果书写正确,Hibernate动态查询转换器则会将HQL语句转换为SQL语句,如from Student ,则会转换成如下SQL语句: 由此,我们可以分析出Hibernate是通过Java反射机制来完成动态转换这一功能的,如果是小写的student,Hibernate则不会找到相应的类来进行处理,由此我们也可以推断出HQL查询语句是区分大小写的,他要求表名,字段名要与相匹配的类,属性同名,而且要严格保持一致,包括大小写,而SQL语句是不区分大小写的,在这一点上一写要注意。再细仔考虑下,这个问题又告诉我们什么,他告诉了我们写的HQL查询语句要想让Hibernate识别出来,则编写的程序一定要符合命名规范,哈哈,虽然规范对于我们来说是一种束缚,但是符合规范可以让我们的程序更加通用,更加易于理解,我们在写代码过程中一定严格遵守Java命名规范。 |



RSS订阅
手机访问
一共有 0 条评论