Java对象持久化技术之Hibernate入门之二

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

创建数据库Schema 在本例中,与Customer类对应的数据库表名为CUSTOMERS,它在MySQL数据库中的DDL定义如下:

create table CUSTOMERS (

ID bigint not null PRimary key,

NAME varchar(15) not null,

EMAIL varchar(128) not null,

PASSWord varchar(8) not null,

PHONE int ,

ADDRESS varchar(255),

SEX char(1) ,

IS_MARRIED bit,

DESCRipTION text,

IMAGE blob,

BIRTHDAY date,

REGISTERED_TIME timestamp

);

CUSTOMERS表有一个ID字段,它是表的主键,它和Customer类的id属性对应。CUSTOMERS表中的字段使用了各种各样的SQL类型,参见表2-2。

表2-2 CUSTOMERS表的字段使用的SQL类型

2.4 创建对象-关系映射文件

Hibernate采用xml格式的文件来指定对象和关系数据之间的映射。在运行时,Hibernate将根据这个映射文件来生成各种SQL语句。在本例中,将创建一个名为Customer.hbm.xml的文件,它用于把Customer类映射到CUSTOMERS表,这个文件应该和Customer.class文件存放在同一个目录下。例程2-3为Customer.hbm.xml文件的代码。

例程2-3 Customer.hbm.xml

<?xml version="1.0"?

<!DOCTYPE hibernate-mapping PUBLIC "-

//Hibernate/Hibernate Mapping DTD 2.0

//EN"

"http://hibernate.sourceforge.net

/hibernate-mapping-2.0.dtd"

<hibernate-mapping

<class name="mypack.Customer"

table="CUSTOMERS"

<id name="id" column="ID" type="long"

<generator class="increment"/

</id

<property name="name"

column="NAME"type="string"

not-null="true" /

<property name="email"

column="EMAIL" type="string"

not-null="true" /

<property name="password"

column="PASSWORD"type="string"

not-null="true"/

<property name="phone"

column="PHONE" type="int" /

<property name="address"

column="ADDRESS" type="string" /

<property name="sex"

column="SEX" type="character"/

<property name="married"

column="IS_MARRIED"type="boolean"/

<property name="description"

column="DESCRIPTION"type="text"/

<property name="image"

column="IMAGE"type="binary"/

<property name="birthday"

column="BIRTHDAY" type="date"/

<property name="registeredTime"

column="REGISTERED_TIME"

type="timestamp"/

</class

</hibernate-mapping

2.4.1 映射文件的文档类型定义(DTD)

在例程2-3的Customer.hbm.xml文件的开头声明了DTD(Document Type Definition,文档类型定义),它对XML文件的语法和格式做了定义。Hibernate的XML解析器将根据DTD来核对XML文件的语法。

每一种XML文件都有独自的DTD文件。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有