编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
Hibernate 上手篇,发布者:发布时间:2007-01-12第一章在Tomcat中快速上手1.1.开始Hibernate之旅这份教程描述如何在ApacheTomcatservlet容器中为web应用程序配置Hibernate3.0(我们使用Tomcat4.1版本,与5.0版本差别很小)。Hibernate在大多数主流J2EE应用服务器的运行环境中都可以工作良好,甚至也可以在独立Java应用程序中使用。在本教程中使用的示,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> JAVA 专区 >> Hibernate 技术 >> 文章正文
【字体:
Hibernate 上手篇   进入问吧

本站地址:http://www.bajiao123.com

作者:本站    文章来源:网络    点击数:    更新时间:2007-1-31    

Hibernate 上手篇

 

    public float getWeight() {

        return weight;

    }

 

    public void setWeight(float weight) {

        this.weight = weight;

    }

 

}

Hibernate对属性使用的类型不加任何限制。所有的Java JDK类型和原始类型(比如String,char和Date)都可以被映射,也包括Java 集合(Java collections framework)中的类。你可以把它们映射成为值,值集合,或者与其他实体类相关联。id是一个特殊的属性,代表了这个类的数据库标识符(主键),对于类似于Cat这样的实体类我们强烈建议使用。Hibernate也可以使用内部标识符,但这样我们会失去一些程序架构方面的灵活性。

 

持久化类不需要实现什么特别的接口,也不需要从一个特别的持久化根类继承下来。Hibernate也不需要使用任何编译期处理,比如字节码增强操作,它独立的使用Java反射机制和运行时类增强(通过CGLIB)。所以不依赖于Hibernate,我们就可以把POJO的类映射成为数据库表。

 

1.3. 映射cat

Cat.hbm.xml映射文件包含了对象/关系映射(O/R Mapping)所需的元数据。元数据包含持久化类的声明和属性到数据库的映射(指向字段和其他实体的外键关联)。

 

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping

    PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

 

<hibernate-mapping>

 

    <class name="org.hibernate.examples.quickstart.Cat" table="CAT">

 

        <!-- A 32 hex character is our surrogate key. It's automatically

            generated by Hibernate with the UUID pattern. -->

        <id name="id" type="string" unsaved-value="null" >

            <column name="CAT_ID" sql-type="char(32)" not-null="true"/>

            <generator class="uuid.hex"/>

        </id>

 

        <!-- A cat has to have a name, but it shouldn' be too long. -->

        <property name="name">

            <column name="NAME" length="16" not-null="true"/>

        </property>

 

        <property name="sex"/>

 

        <property name="weight"/>

 

    </class>

 

</hibernate-mapping>

每个持久化类都应该有一个标识属性(实际上,这个类只代表实体,而不是独立的值类型类,后者会被映射称为实体对象中的一个组件)。这个属性用来区分持久化对象:如果catA.getId().equals(catB.getId())结果是true的话,这两个Cat就是相同的。这个概念称为数据库标识。Hiernate附带了几种不同的标识符生成器,用于不同的场合(包括数据库本地的顺序(sequence)生成器、hi/lo高低位标识模式、和程序自己定义的标识符)。我们在这里使用UUID生成器(只在测试时建议使用,如果使用数据库自己生成的整数类型的键值更好),并指定CAT表中的CAT_ID字段(作为表的主键)存放生成的标识值。

 

Cat的其他属性都映射到同一个表的字段。对name属性来说,我们把它显式地声明映射到一个数据库字段。如果数据库schema是通过由映射声明使用Hibernate的SchemaExport工具自动生成的(作为

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 编程资料集中营