|
锁定老贴子 主题:一个基于Hibernate的JPA例子程序
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-01-07 关键字: jpa hibernate entitymanager annotation
这是一个使用Hibernate作为JPA实现的示例程序,演示了以下特性: * 使用Annotation进行元数据映射; * 多种关系:一对一、一对多、多对多、继承和嵌入; * Spring集成。 可以使用这个简单的程序对JPA的特性进行学习和实验。 该示例程序需要JDK 5.0环境。运行环境需要Eclipse 3.2和Maven 2之中的任何一个: * 如果使用Maven,只需要在命令行执行mvn test即可; * 如果使用eclipse,需要导入到你的工作空间中。 源代码见附件。源码包中lib目录是空的,里面的类库被打包成2个zip文件,可以从下一篇文章中下载。模型说明: 示例程序模拟了一个与出版物相关的实体模型,类图如下: 1)Publisher:出版商。每个出版商都有一个描述信息(PubInfo),出版商可以发行多种出版物(Title)。 2)PubInfo:出版商信息。 3)Title:出版物,可能包括图书(Book),以及其他可能的种类(如杂志)。 4)Book:出版物的一种。 5)Author:作者。每个作者都有联系方式(ContactInfo),作者自己可以创作多种出版物,当然也可以和其他作者合著。 6)ContactInfo:作者的联系方式。 实体间的关系包括: 1)一对一:一个出版商有一个描述信息。 2)多对一:一个出版商有多个出版物。 3)多对对:一个出版物可以有多个作者,一个作者可以有多部出版物 4)继承:出版物有多种类型,但它们都有一些共同的特征。 5)嵌入:作者有一个联系方式的属性。 以上几个类与数据库表对应关系如下: 1)Publisher表:出版商,与Publisher类对应。 2)PubInfo表:出版商信息,与PubInfo类对应。 3)Title表:出版物,与Title类对应。 4)Book表:图书,与Book类对应 5)Author表:作者,与Author类和ContactInfo两个类对应。 6)TitleAuthor表:关系表,对应于Author表和Title表之间的多对多关系,没有直接对应的Java类。
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2007-01-08
spring2新增的和hibernate JPA的一些东西,看来要早点看一下啦,不然跟不上啊...
谢谢,下载来看一下... |
|
| 返回顶楼 | |
|
最后更新时间:2007-01-08
更正一个错误。在PubInfo类中:
原代码: private Long id = new Long(-1); //PubInfo与Publisher共享主键,因此在持久化之前 //必须手工赋值,尽管是一个临时的值。 改为: private Long id; 原代码: @Id @Column(name="Id")
public Long getId() {
return id;
}
改为: @Id @Column(name="Id") @GeneratedValue
public Long getId() {
return id;
}
非常抱歉。 |
|
| 返回顶楼 | |
浏览 3602 次




