`
uiafzhdl
  • 浏览: 25308 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

一个基于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类。


  • 大小: 13.3 KB
分享到:
评论
3 楼 fhjxp 2007-09-10  
挺好的,收藏了
2 楼 uiafzhdl 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;
	}

非常抱歉。
1 楼 lighter 2007-01-08  
spring2新增的和hibernate JPA的一些东西,看来要早点看一下啦,不然跟不上啊...
谢谢,下载来看一下...

相关推荐

    基于JPA的CRUD例子

    Java Persistence API(JPA)是Java平台上的一个标准,用于管理和持久化Java对象到关系数据库。它为开发者提供了一种声明式的方式来处理对象与数据库之间的映射,简化了数据库操作。在这个“基于JPA的CRUD例子”中,...

    Spring hibernate jpa Project sample

    【Spring Hibernate JPA 项目样本】是一个典型的Java后端开发示例,它结合了Spring框架、Hibernate ORM工具和Java Persistence API(JPA)来构建数据库驱动的应用程序。这个项目展示了如何在实际开发中有效地整合这...

    spring3.1 struts2.3 hibernate4.1 jpa集成小例子

    这个"spring3.1 struts2.3 hibernate4.1 jpa集成小例子"是一个典型的Java Web项目,它展示了如何将Spring 3.1、Struts 2.3、Hibernate 4.1和Java Persistence API (JPA) 这四大组件融合到一个应用中。接下来,我们将...

    搭建一个JPA+hibernate实例

    本教程将指导你如何搭建一个基于JPA和Hibernate的实例,以便在Java项目中进行数据库操作。 首先,理解JPA的核心概念至关重要。JPA提供了一套规范,允许开发者使用面向对象的编程方式来处理关系型数据库。它定义了...

    struts-2.2.1 spring-3.0.4 hibernate-3.6.0 JPA整合

    总之,这个整合项目为学习者提供了一个基础的SSH(Struts2 + Spring + Hibernate)和JPA的集成示例,有助于理解这些框架如何协同工作,为更复杂的Java Web应用程序开发打下基础。通过逐步研究和实践,开发者可以深入...

    spring boot jsp mvc jpa hibernate mysql 示例 sample

    Spring Boot 是一个基于 Spring 框架的快速开发工具,它简化了创建独立的、生产级别的基于 Spring 的应用程序。在本示例中,我们将探讨如何整合 JSP、MVC、JPA 和 Hibernate 来构建一个与 MySQL 数据库交互的 Web ...

    angular-rest-springsecurity:一个使用基于HibernateJPA的受Spring Security保护的Jersey REST后端的AngularJS应用示例

    一个示例AngularJS应用程序,它使用基于Hibernate / JPA的Spring Security保护的Jersey REST后端。 关于 这些项目的目的是演示AngularJS应用程序使用的简单REST接口的Java实现。 涵盖以下主题: 一个关系数据库,...

    spring jpa操作数据库 级联数据 hibernate

    - "SpringHibernateJPA0300_BoneCP.rar"可能包含了一个使用 BoneCP 作为连接池的Spring JPA与Hibernate项目。 - "School.rar"和"spring-data-jpa.rar"可能是两个独立的示例项目,分别展示了学校管理和Spring Data ...

    hibernate+strut+jpa入门例子.zip

    【标题】:“Hibernate+Struts+JPA入门例子”是一个典型的Java Web开发示例,它结合了三个重要的技术框架:Hibernate、Struts和Java Persistence API(JPA)。这个压缩包包含了一个初学者如何将这三个框架整合到一个...

    SpringMVC+Hibernate+jpa+Spring demo

    【SpringMVC+Hibernate+jpa+Spring demo】是一个综合性的项目示例,它结合了四个核心的Java开发框架,用于构建高效、可扩展的企业级Web应用程序。这些框架分别是: 1. **SpringMVC**:Spring 框架的一个模块,主要...

    一个很简单的hibernate例子

    本示例将深入解析一个基于Hibernate的简单应用,帮助开发者理解其基本概念和工作流程。 首先,我们需要了解Hibernate的核心概念。Hibernate通过XML配置文件或注解来定义Java类和数据库表之间的映射关系,这样我们就...

    hibernate+jpa注解教程

    通过配置开发环境、数据库连接、生成配置文件以及编写实体类等过程,详细介绍了如何构建一个简单的基于Hibernate + JPA的应用程序。这对于初学者来说是一份非常有价值的指南。此外,本教程还强调了理解各个注解的...

    integer with spring struts hibernate mybatis jpa

    虽然Hibernate也是实现JPA规范的一个库,但JPA本身是一个标准,可以有多种不同的实现。 这些技术在实际项目中经常结合使用,例如,Spring可以整合Struts和Hibernate,或者使用Spring MVC代替Struts,同时利用...

    DWR3.0+ hibernate4.1 + spring3.1 基于JPA JTA

    **Hibernate** 是一个流行的对象关系映射(ORM)框架,它将Java对象和数据库表之间的映射自动化,减少了数据库操作的复杂性。Hibernate4.1引入了更好的性能优化,包括二级缓存改进和JPA支持的增强,同时也增强了对...

    Struts+Spring+Jpa(hibernate)整合

    Hibernate是JPA的一个实现,提供了丰富的查询语言(HQL)和API。在整合中,我们使用Hibernate作为JPA的实现,通过persistence.xml配置持久化单元,定义实体类和数据源。Spring可以帮助我们自动创建SessionFactory,...

    一个struts hibernate的例子

    总结来说,"一个struts hibernate的例子"是一个结合了MVC框架Struts1.3.5和ORM框架Hibernate3.2的Java Web项目,使用DAO工厂模式处理数据访问,旨在帮助开发者学习和理解这两者的集成使用。通过这样的实践,开发者...

    整合compass2.0 spring hibernate示例源程序

    标题 "整合compass2.0 spring hibernate示例源程序" 提供了我们即将探讨的核心内容:一个集成Compass 2.0、Spring和Hibernate的示例应用。这是一份源代码,旨在帮助开发者理解如何在实际项目中有效地将这三个关键...

    Spring2.5 + JPA(Hibernate)实现

    通过这个过程,你可以建立一个基于Spring 2.5、JPA和Hibernate的系统,实现高效的数据库操作和管理。需要注意的是,Spring 2.5已经相对较旧,当前的开发通常会使用更新的Spring版本,以获取更多的特性和性能优化。 ...

    Hibernate构建一个CURD的程序

    本教程将深入探讨如何使用Hibernate构建一个完整的CRUD(创建、读取、更新、删除)程序。CRUD是数据库管理的基本操作,对于任何应用程序来说都是核心功能。 首先,我们需要理解Hibernate的核心概念。Hibernate基于...

    springmvc+jpa 例子

    Spring MVC 是 Spring 框架的一部分,主要负责处理Web应用中的请求和响应,而JPA(Java Persistence API)是Java平台上的对象关系映射标准,用于管理和持久化应用程序的数据。 **Spring MVC详解** Spring MVC 是 ...

Global site tag (gtag.js) - Google Analytics