对象状态分类:
a     临时状态(transient)
没有OID,不跟session关联,数据库没有记录与之关联,如新new的对象。
b     持久化状态(persistent)
有OID,存在于session中,数据库有记录与之关联。
Hibernate会自动侦测及文护持久化对象的属性变化,在提交时自动的同步更新数据库。
c     游离状态(Deteched)
有OID,不跟session关联,数据库中可能有一条记录与之匹配。
游离状态的属性变化,Hibernate不会文护更新。
C     关联映射
a     一对多、多对一关系
两个类中,一个类有另一个类的一个引用,另一个类有这个类的集合引用,则这两个类为一对多、多对一关系。例如一个用户对应多个收货人。
在用户映射文件User.hbm.xml中:
<list name="recipients" cascade="all" lazy="false">
<key column="user_id"></key>
<index column="id"></index>
<one-to-many class="Recipient" />
</list>
在收件人映射文件Recipient.hbm.xml中:
<many-to-one name="user" class="User" column="user_id" lazy="false" cascade="save-update"/>
b     一对一关系
两个类各有另一个类的一个引用,这两个类互为一对一关系。
c     多对多关系
两个类互有集合引用,中间表是专门用来描述这两个类之间的关联关系。
中间表中两个外键分别关联两张表,通过中间表把复杂的多对多变成两个一对多关系。如商品和订单,中间表为商品列表。
在商品映射文件Goods.hbm.xml中:
<list name="lines" cascade="all" lazy="false">
<key column="goods_id"></key>
<index column="id"></index>
<one-to-many class="Line" />
</list>
在订单映射文件Order.hbm.xml中:
<map name="lines" cascade="all" lazy="false">
<key column="order_id"></key>
<map-key type="java.lang.Integer" column="key"></map-key>
<one-to-many class="Line" />
</map>
在中间表Line.hbm.xml中:
<many-to-one name="goods" class="Goods" column="goods_id"
            cascade="all" lazy="false"></many-to-one>
<many-to-one name="order" class="Order" column="order_id"
            cascade="all" lazy="false"></many-to-one>
D     Hibernate查询
a     OID查询
Session接口的中的get()方法。Query接口不支持级联删除。
b     没有select关键字的HQL查询
面向对象的查询语言,表名换类名,列名换类中字段。一般分为带占位符“?”和带命名参数两种。
c     批处理
Hibernate 3.0之后,Query接口中可以使用delete、update执行批量删除更新。
d     投影查询
带select关键字的HQL查询,查询得到的都是一些零散数据。
投影查询支持所有复杂的查询(子查询、多表、分组......)。
按照查询出结果分不同情况处理,如下面所示:
情况1: 单行单列值
Object o=query.uniqueResult();
情况2: 单行多列值
Object[] arr=(Object[])query.uniqueResult();
情况3: 多行单列值
上一篇:ASP.net+sqlserver招聘平台企业用户子系统设计
下一篇:基于iOS平台的记单词软件设计与实现

java+mysql通用试题库系统后台设计与实现

数据挖掘在电子商务中的应用

电子政务环境下公务员的...

电子政务建设与民营企业...

电子政务与行政体制改革...

电子商务中信息不對称问题研究【2365字】

應用电子技术中可编程控...

C#学校科研管理系统的设计

中国学术生态细节考察《...

承德市事业单位档案管理...

神经外科重症监护病房患...

志愿者活动的调查问卷表

AT89C52单片机的超声波测距...

公寓空调设计任务书

10万元能开儿童乐园吗,我...

医院财务风险因素分析及管理措施【2367字】

国内外图像分割技术研究现状