`
隐形的翅膀
  • 浏览: 497071 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate入门

 
阅读更多
1. hibernate.properties

配置文件, duurl,dbusername,dbpasswd


2. 创建持久化类
Hibernate并不要求持久化类必须实现java.io.Serializable接口,但是对于采用分布式结构的JAVA应用,当Java对象在不同的进程节点之间传输时,必须序列化这个对象

在Java Web应用中,如果希望对HttpSession中存放的JAVA对象进行持久化,必须实现Serializable接口

Hibernate要求持久化对象必须提供一个不带参数的默认构造方法

public class Custormer implements Serializable


3. 关系映射文件

class.hbm.xml

<id name="id" clumn="ID" type = "long">
<generator class="native"/>
</id>

<protperty name="sex" column="SEX" tpe="string" not-null="true"/>


4. 初始化SessionFactory
Configuration config = new Configuration();
config.addClass(Customer.class); 加载Customer.hbm.xml
sessionFactory = config.buildSessionFactory();


5. 删除一个对象
Session session = sessionFactory.openSession();
Transaction tx = null
try{
tx = session.beginTransation();
session.delete("from Custoer as c");
tx.commit()
}
catch(Exception ex)
{
if(tx !=null)
tx.roolback();
}
finally{
{
session.close();
}


6. Session, save,update,saveOrUpdate

call... setXXX()

Session.get(),load(),find()

call....getXXX()

Java应用程序不能访问持久化类的private类型的方法setXXX , getXXX, 但Hibernate 没有这个限制,可以通过反射来访问

<property name="name" access="field"/>

表明Hibernate运用Java反射机制直接访问类的属性

7. 派生属性

持久化类的有些属性的值必须运行时通过计算才能得出来,这种属性称为派生属性

<property name="totalPrice" formula="(select sum(o.PRICE) from ORDERS O where o.CUSTOMER_id=ID)"/>


8. update=false, insert=false
<property name="price" udate="false" column="PRICE"/>

表示在update or insert 语句中不会包含该字段

9. 如果表中包含许多字段,建议把dynamic-update and dynamic-insert属性设为true,这样在insert and update语句中就只包含需要插入或更新的字段

10. 命名原则

public classMyNamingStrategy implements NamingStrategy{
   public string classToTableName(String className)...
   {}
   public String propertyToColumnName(String propertyName)
   {}
}

config.setNameingStrategey(new MyNamingStrategy())
 


11 级联保存
Customer customer = new Customer("Loasan","Zhang","M",new HashSet(),"A good citizenn");

Order order1 = new Order("Order001",100,customer);
Order order2 = new Order("Order002",200,customer);
customer.getOrders().add(Oerder1);
customer.getOrders().add(Order2);
saveCustomer(customer);

save() 方法保存Customer 对象时,还会级联保存两个Order对象
分享到:
评论

相关推荐

    Hibernate入门到精通

    "Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...

    Hibernate入门jar包

    本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...

    Hibernate入门案例源码

    【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...

    Hibernate入门(代码+笔记)

    **Hibernate入门** Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发者无需编写大量的SQL语句,就能实现数据的增删改查。本教程将分为五个部分,逐步深入Hibernate的世界。 **...

    初学hibernate,hibernate入门

    **初学Hibernate,Hibernate入门** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。在Java应用中,通过Hibernate,开发者可以将数据库操作抽象成对象模型,使得代码...

    hibernate入门小例子

    【hibernate入门小例子】是一个适合初学者的教程,主要涵盖了如何在JavaWeb项目中使用Hibernate框架与MySQL数据库进行集成。在这个例子中,我们将会深入理解Hibernate的核心概念,包括实体映射、对象关系映射(ORM)...

    hibernate入门

    **hibernate入门** Hibernate 是一个强大的Java持久化框架,它简化了数据库操作,使得开发者无需直接编写SQL语句即可实现对象与关系数据库之间的映射。这个文档将带你步入Hibernate的世界,了解其基本概念和核心...

    hibernate入门--第一个实例

    【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...

    Hibernate入门到精通.pdf

    《Hibernate入门到精通》这本书是针对Java开发人员深入学习Hibernate框架的一份宝贵资源。Hibernate是一个开源的对象关系映射(ORM)框架,它极大地简化了Java应用程序与数据库之间的交互。通过使用Hibernate,...

    Hibernate入门教程.pdf

    ### Hibernate入门教程知识点详解 #### 一、Hibernate框架简介 **Hibernate** 是一款开放源代码的**对象关系映射(Object-Relational Mapping,简称ORM)**框架,它为Java应用提供了一种高效的机制,用于处理Java...

    struts+hibernate入门实例(eclipse版)

    ### Struts + Hibernate 入门实例(Eclipse 版) #### 一、开发环境搭建 在本章节中,作者朱千平将引导我们完成开发环境的搭建,包括以下几个步骤: 1. **下载安装Eclipse**: Eclipse 是一个开源的集成开发环境...

    史上最简单的Hibernate入门简介

    其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,看了这个希望能给你点启示!

    hibernate入门实例操作步骤

    **hibernate入门实例操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用Java对象的方式处理数据库事务。本篇将详细介绍Hibernate入门实例的操作步骤,...

    hibernate入门简单实例

    以下是关于Hibernate入门的一些关键知识点: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java类的过程,通过这种方式,我们可以使用面向对象的编程方式来操作数据,而无需直接编写SQL语句。 2. **...

    hibernate教程,hibernate入门

    **Hibernate 教程:带你入门持久化框架** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它为 Java 应用程序提供了便捷的数据持久化服务。本教程将引导你逐步了解 Hibernate 的基本概念、安装配置以及核心...

    02_传智播客hibernate教程_hibernate入门案例的细节分析

    【标题】:“02_传智播客hibernate教程_hibernate入门案例的细节分析” 在本教程中,我们将深入探讨Hibernate,一个流行的Java对象关系映射(ORM)框架,它简化了数据库操作,使开发者可以更加专注于业务逻辑而不是...

    hibernate入门实例DOC

    【hibernate入门实例DOC】是一个经典的教程,旨在引导初学者了解如何使用Hibernate框架与MySQL数据库进行集成。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发者以面向对象的方式处理数据库操作,减少了...

Global site tag (gtag.js) - Google Analytics