菜单
  

    对象状态分类:
    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: 多行单列值
  1. 上一篇:ASP.net+sqlserver招聘平台企业用户子系统设计
  2. 下一篇:基于iOS平台的记单词软件设计与实现
  1. JAVA基于安卓平台的医疗护工管理系统设计

  2. java+mysql设备监控记录的大...

  3. java+mysql酒店管理系统设计与实现

  4. java+mysql二手房网站的设计与实现

  5. java+mysql家居团购网站的设计与实现

  6. JAVA+MYSQL《算法与数据结构...

  7. 基于MOOCs的《Java程学设计...

  8. 乳业同业并购式全产业链...

  9. 酸性水汽提装置总汽提塔设计+CAD图纸

  10. 中考体育项目与体育教学合理结合的研究

  11. 大众媒体对公共政策制定的影响

  12. 河岸冲刷和泥沙淤积的监测国内外研究现状

  13. 电站锅炉暖风器设计任务书

  14. java+mysql车辆管理系统的设计+源代码

  15. 当代大学生慈善意识研究+文献综述

  16. 杂拟谷盗体内共生菌沃尔...

  17. 十二层带中心支撑钢结构...

  

About

751论文网手机版...

主页:http://www.751com.cn

关闭返回