`
文章列表
log4j配置文件有三个主要的组件:Logger,Appender和Layout,分别为日志类型,日志输出目的地,日志输出格式。 log4j.rootLogger = [level], appenderName, appenderName, ... (level是错误级别,appenderName是输出目的地,本例设为mylog,可以定义多个 ...
log4j配置文件有三个主要的组件:Logger,Appender和Layout,分别为日志类型,日志输出目的地,日志输出格式。 log4j.rootLogger = [level], appenderName, appenderName, ... (level是错误级别,appenderName是输出目的地,本例设为mylog,可以定义多个 ...
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提 ...
所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。 下面举个通俗的例子: 某天,我打电话向你请教问题,当然是个 ...
,Student.java   package com.fgh.hibernate; import java.sql.Timestamp; public class Student { private String id; private String name; private int age; private String cardId; // private Timestamp lastDate; private int version; public int getVersion() { return version; } p ...
,Student.java package com.fgh.hibernate; import java.sql.Timestamp; public class Student { private String id; private String name; private int age; private String cardId; // private Timestamp lastDate; private int version; public int getVersion() { return version; } public ...
继承映射方式一:一个子类一张表 ,一张表对应一个配置文件 场景:父类person,子类student、teacher Person.java package com.fgh.hibernate; public class Person { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { retu ...
继承映射方式一:一个子类一张表 ,一张表对应一个配置文件 场景:父类person,子类student、teacher Person.java package com.fgh.hibernate; public class Person { private String id; private String name; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return n ...
将主键所对应的属性提取出一个类(称之为主键类),并且主键类需要实现Serializable接口, 重写equals方法和hashCode 方法,原因同联合主键一:普通方式 场景和联合主键一:普通方式相同,只不过该方法将主键单独抽取为一个类,当然在配置文件时需要有所改变,个人感觉该方法比较好 主键类:StudentPrimaryKey.java package com.fgh.hibernate; import java.io.Serializable; /** * Student 主键类 * * @author fgh * */ public cla ...
将主键所对应的属性提取出一个类(称之为主键类),并且主键类需要实现Serializable接口, 重写equals方法和hashCode 方法,原因同联合主键一:普通方式 场景和联合主键一:普通方式相同,只不过该方法将主键单独抽取为一个类,当然在配置文件时需要有所改变,个人感觉该方法比较好 主键类:StudentPrimaryKey.java package com.fgh.hibernate; import java.io.Serializable; /** * Student 主键类 * * @author fgh * */ public class Stude ...
类中的每个主键属性都对应到数据库表中的每个主键列,hibernate要求具有联合主键 的实体类实现Serializable接口,并且重写hashCode和equals方法,重写这两个方法是因为 hibernate要根据数据库的联合主键来判断某两行记录是否是一样的,如果一样那么就认为 是同一个对象,如果不一样,那么认为是不同的对象,这反映到程序领域中就是根据hashCode 与equals方法来判断某两个对象是否能够放到诸如Set这样的集合当中 联合主键的实体类实现Serializable接口的原因在于使用get或load方法的时候需要先构建出 来该实体的对 ...
类中的每个主键属性都对应到数据库表中的每个主键列,hibernate要求具有联合主键 的实体类实现Serializable接口,并且重写hashCode和equals方法,重写这两个方法是因为 hibernate要根据数据库的联合主键来判断某两行记录是否是一样的,如果一样那么就认为 是同一个对象,如果不一样,那么认为是不同的对象,这反映到程序领域中就是根据hashCode 与equals方法来判断某两个对象是否能够放到诸如Set这样的集合当中 联合主键的实体类实现Serializable接口的原因在于使用get或load方法的时候需要先构建出 来该实体的对 ...
内存排序 内存排序和数据库排序唯一的不同就是在配置文件中使用sort属性而不是order-by属性 他有三个属性值(unsorted,natural),其中natural指的是按照自然的升序排序,第三个 属性值是我们自己定义 的排序规则类,该规则类通过实现Comparator接口,并且实现 该接口中的Compare方法,在该方法中定义排序规则即可。然后将该自定义的排序规则 的类名作为sort的属性值即可. 具体参考: Team.java   package com.fgh.hibernate; import java.util.Set; public class Tea ...
内存排序 内存排序和数据库排序唯一的不同就是在配置文件中使用sort属性而不是order-by属性 他有三个属性值(unsorted,natural),其中natural指的是按照自然的升序排序,第三个 属性值是我们自己定义 的排序规则类,该规则类通过实现Comparator接口,并且实现 该接口中的Compare方法,在该方法中定义排序规则即可。然后将该自定义的排序规则 的类名作为sort的属性值即可. 具体参考: Team.java package com.fgh.hibernate; import java.util.Set; public class Team { ...
场景:一个Student,有联系方式(联系方式名称和联系方式内容),一个student可以拥有多个联系方式,存储时分为两张表 ,一张学生表student,一张联系人表contact,但是只有一个配置文件,也就是一个配置文件生成两张表,这属于一种一对多关系,完全可以使用一对多映射使用两个配置文件配置,但是这里介绍一下使用集合方式组件映射的实现,还是推荐使用前者,因为前者比较直观,容易理解 Contact.java   package com.fgh.hibernate; /** * 联系人类 * @author fgh * */ public class Contac ...
Global site tag (gtag.js) - Google Analytics