一个基于Hibernate的JPA例子程序

这是一个使用Hibernate作为JPA实现的示例程序,演示了以下特性:<o:p></o:p>

* 使用Annotation进行元数据映射;<o:p></o:p>

* 多种关系:一对一、一对多、多对多、继承和嵌入;<o:p></o:p>

* Spring集成。<o:p></o:p>

可以使用这个简单的程序对JPA的特性进行学习和实验。<o:p></o:p>

该示例程序需要JDK 5.0环境。运行环境需要Eclipse 3.2Maven 2之中的任何一个:<o:p></o:p>

* 如果使用Maven,只需要在命令行执行mvn test即可;<o:p></o:p>

* 如果使用eclipse,需要导入到你的工作空间中。

源代码见附件。源码包中lib目录是空的,里面的类库被打包成2个zip文件,可以从下一篇文章中下载。

模型说明:<o:p></o:p>

示例程序模拟了一个与出版物相关的实体模型,类图如下:

<o:p> </o:p>

1Publisher:出版商。每个出版商都有一个描述信息(PubInfo),出版商可以发行多种出版物(Title)。

2PubInfo:出版商信息。

3Title:出版物,可能包括图书(Book),以及其他可能的种类(如杂志)。

4Book:出版物的一种。

5Author:作者。每个作者都有联系方式(ContactInfo),作者自己可以创作多种出版物,当然也可以和其他作者合著。

6ContactInfo:作者的联系方式。

实体间的关系包括:

1)一对一:一个出版商有一个描述信息。

2)多对一:一个出版商有多个出版物。

3)多对对:一个出版物可以有多个作者,一个作者可以有多部出版物

4)继承:出版物有多种类型,但它们都有一些共同的特征。

5)嵌入:作者有一个联系方式的属性。

以上几个类与数据库表对应关系如下:

1Publisher表:出版商,与Publisher类对应。

2PubInfo表:出版商信息,与PubInfo类对应。

3Title表:出版物,与Title类对应。

4Book表:图书,与Book类对应

5Author表:作者,与Author类和ContactInfo两个类对应。

6TitleAuthor表:关系表,对应于Author表和Title表之间的多对多关系,没有直接对应的Java类。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值