HQL是完全面向对象的查询语句,具备继承、多态和关联等特性。HQL(Hibernate Query Language)提供了非常强大的查询功能,在官方开发手册中,也将HQL作为推荐的查询模式。 HQL 子句本身大小写无关,但是其中出现的类名和属性名必须注意大小写区分 Criteria Query(标准化对象查询)通过面向对象化的设计,将数据查询条件封装为一个对象。简单来讲,Criteria Query可以看作是传统SQL的对象化表示。 优点:可读性好,符合Java 程序员的编码习惯。缺点:不够成熟,不支持投影(projection)或统计函数(aggregation)。 这种方式的特点 ...
第 12 章 条件查询(Criteria Query) 现在Hibernate也支持一种直观的、可扩展的条件查询API。目前为止,这个API还没有更成熟的HQL查询那么强大,也没有那么多查询能力。特别要指出,条件查询也不支持投影(projection)或统计函数(aggregation)。 12.1. 创建一个Criteria实例 net.sf.hibernate.Criteria这个接口代表对一个特定的持久化类的查询。Session是用来制造Criteria实例的工厂。 Criteria crit = sess.createCriteria(Cat.class); crit.setM ...
(一)HQL HQL:Hibernate Qusery Language,如果你已经熟悉它,就会发现它跟SQL非常相像。不过 你不要被表面的假象迷惑,HQL是面向对象的(OO,用生命的眼光看待每一个对象,他们是如此 鲜活)。如果你对JAVA和SQL语句有一定了解的话,那么HQL对你简直易如反掌,你完全可以利用在公车上的时间掌握它。 以下从几个方面进行慢慢深入: 1。大小些敏感 大家知道SQL-92 Query是对大小写不敏感的,但是在HQL(前面提到它是OO的)中对对象类的名称和属性确实大小写敏感的(符合java编程语法)。 HQL 子句本身大小写无关,但是其中出现的类名和属性 ...
我们知道,给JavaScript类添加原形(prototype)方法是很简单的。而且常用的有下面这两种方法,可是这两种方法在使用时有区别吗? JScript Class: function JSClass() { } Extends prototype method: JSClass.prototype.MethodA = function() { }; Or function = JSClass.prototype.MethodA() { }; 其实这两个原形定义方式可以简化一下来讨论,先把它们看作是两个函数,如下: Foo1(); function Foo1( ...
经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. if(document.mylist.length != "undefined" ) {} 这个用法有误. 正确的是 if( typeof(document.mylist.length) != "undefined" ) {} 或 if( !isNaN(document.mylist.length) ) {} typeof的运算数未定义,返回的就是 "undefined". 运算数为数字 typeof(x) = "number" 字符串 typeof(x) = "stri ...
Javascript本身并不支持面向对象,它没有访问控制符,它没有定义类的关键字class,它没有支持继承的extend或冒号,它也没有用来支持虚函数的virtual,不过,Javascript是一门灵活的语言,下面我们就看看没有关键字class的Javascript如何实现类定义,并创建对象。 一:定义类并创建类的实例对象 在Javascript中,我们用function来定义类,如下: function Shape() { var x=1; var y=2; } 你或许会说,疑?这个不是定义函数吗?没错,这个是定义函数,我们定义了一个Shape函数,并对x和y进行了初 ...
1.下载jakarta-taglibs-standard-1.1.2.zip(在Weblogic中必须下载1.0版http://jakarta.apache.org/site/downloads/downloads_taglibs-standard-1.0.cgi) 2.解压后,将standard.jar和jstl.jar文件拷贝到\WEB-INF\lib\ 3.将jakarta-taglibs-standard-1.1.1\tld\下的tld类型文件拷到"\WEB-INF\tlds"下(1.1是15个文件,1.0是8个) 4.在\WEB-INF\下建立web.xml文件:(以下<tag ...
线程是Java的内嵌特性,线程并不容易掌握,有专门介绍Java线程的书籍,读者可以参考。由此可见Java线程的重要性,本文将详细介绍线程的基本知识。   有的时候你可能想写一个程序,每隔一段时间执行相关的任务,这个时候你可以使用Timer和TimerTask,非常方便。你可以参考这里。   在Java中实现一个线程有两种方法,第一是实现Runnable接口实现它的run()方法,第二种是继承Thread类,覆盖它的run()方法。下面是代码示例:   public class DoSomething implements Runnable {   public void run(){ ...
常用log4j配置,一般可以采用两种方式,.properties和.xml,下面举两个简单的例子: 一、log4j.properties ### 设置com.unmi域对应的级别INFO,DEBUG,WARN,ERROR和输出地A1,A2 ## log4j.category.com.unmi=ERROR,A1 log4j.category.com.unmi=INFO,A2 ### 一般把上面两行写如下方式,统一控制日志输出,再用log4j.logger设置包独立的输出级别 ## log4j.rootLogger=DEBUG,A1 log4j.logger.com.unmi.speci ...
log4j.rootLogger=INFO,consoleAppender,logfile,MAIL log4j.addivity.org.apache=true #ConsoleAppender,控制台输出 #FileAppender,文件日志输出 #SMTPAppender,发邮件输出日志 #SocketAppender,Socket日志 #NTEventLogAppender,Window NT日志 #SyslogAppender, #JMSAppender, #AsyncAppender, #NullAppender #文件输出:RollingFileAppender #log4j ...