Hibernate
文章平均质量分 79
ghsy158
这个作者很懒,什么都没留下…
展开
-
hibernate
2、对于Query接口的list()方法与iterator()方法来说,都可以实现获取查询的对象,、但是list()方法返回的每个对象都是完整的(对象中的每个属性都被表中的字段填充上了),而iterator()方法所返回的对象中仅包含了主键值(标识符),只有当你对iterator()中的对象进行操作时,hibernate才会向数据库再次发送SQL语句来获取该对象的属性值list()原创 2011-12-25 23:47:42 · 980 阅读 · 0 评论 -
org.xml.sax.SAXParseException: The markup in the document preceding the root element must be well-fo
Exception in thread "main" java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The markup in the docum原创 2012-04-13 11:25:08 · 7756 阅读 · 1 评论 -
The processing instruction must begin with the name of the target.
Exception in thread "main" java.lang.RuntimeException: Error occurred. Cause: com.ibatis.common.xml.NodeletException: Error parsing XML. Cause: org.xml.sax.SAXParseException: The processing instruct原创 2012-04-13 11:01:29 · 1954 阅读 · 0 评论 -
hibernate中List一对多映射关系详解
场景:一个Team对一个多个Student,其中Team中的studes属性为List类型直接上代码,测试通过的:Team.javapackage com.fgh.hibernate;import java.util.ArrayList;import java.util.List;/** * 一的一方 * @author fgh * */@SuppressWarn原创 2012-01-04 00:19:31 · 20060 阅读 · 0 评论 -
Hibernate乐观锁实现方式
,Student.javapackage com.fgh.hibernate;import java.sql.Timestamp;public class Student { private String id; private String name; private int age; private String cardId; // private Tim原创 2012-01-12 23:42:41 · 1319 阅读 · 0 评论 -
集合方式的组件映射
场景:一个Student,有联系方式(联系方式名称和联系方式内容),一个student可以拥有多个联系方式,存储时分为两张表 ,一张学生表student,一张联系人表contact,但是只有一个配置文件,也就是一个配置文件生成两张表,这属于一种一对多关系,完全可以使用一对多映射使用两个配置文件配置,但是这里介绍一下使用集合方式组件映射的实现,还是推荐使用前者,因为前者比较直观,容易理解Cont原创 2012-01-07 17:12:00 · 523 阅读 · 0 评论 -
Hibernate数据库查询
数据库查询排序 常用Team.javapackage com.fgh.hibernate;import java.util.HashMap;import java.util.Map;public class Team { private String id; private String name; private Map students = new HashM原创 2012-01-05 00:13:21 · 10620 阅读 · 3 评论 -
Hibernate继承映射方式一
继承映射方式一:一个子类一张表 ,一张表对应一个配置文件场景:父类person,子类student、teacherPerson.javapackage com.fgh.hibernate;public class Person { private String id; private String name; public String getId() { retu原创 2012-01-07 23:24:09 · 543 阅读 · 0 评论 -
联合主键二:组件映射方式
将主键所对应的属性提取出一个类(称之为主键类),并且主键类需要实现Serializable接口,重写equals方法和hashCode 方法,原因同联合主键一:普通方式场景和联合主键一:普通方式相同,只不过该方法将主键单独抽取为一个类,当然在配置文件时需要有所改变,个人感觉该方法比较好主键类:StudentPrimaryKey.javapackage com.fgh.hib原创 2012-01-07 18:07:09 · 1606 阅读 · 0 评论 -
联合主键一:普通方式
类中的每个主键属性都对应到数据库表中的每个主键列,hibernate要求具有联合主键 的实体类实现Serializable接口,并且重写hashCode和equals方法,重写这两个方法是因为 hibernate要根据数据库的联合主键来判断某两行记录是否是一样的,如果一样那么就认为 是同一个对象,如果不一样,那么认为是不同的对象,这反映到程序领域中就是根据hashCo原创 2012-01-07 17:54:58 · 1465 阅读 · 0 评论 -
Hibernate内存排序
内存排序内存排序和数据库排序唯一的不同就是在配置文件中使用sort属性而不是order-by属性他有三个属性值(unsorted,natural),其中natural指的是按照自然的升序排序,第三个属性值是我们自己定义 的排序规则类,该规则类通过实现Comparator接口,并且实现该接口中的Compare方法,在该方法中定义排序规则即可。然后将该自定义的排序规则的类名作为so原创 2012-01-07 17:37:32 · 1891 阅读 · 1 评论 -
Hibernate中get和load的区别
get和load方式是根据id取得一个记录 下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来。 1.从返回结果上对比: load方式检索不到的话会抛出org.hibernate.ObjectNotFoundException异常 get方法检索不到的话会返回null 2.从检索执行机制上对比: get方法和find方法都是直接从数据库中检索转载 2014-03-22 20:07:31 · 1016 阅读 · 0 评论