在Spring中配置Glassfish JPA

开发 后端
本文叙述在Spring中配置Glassfish JPA,包括在domain model 的代码中加入简短的描述。

本文提供了一个简单的 Spring 框架 standalone 环境下,如何 step-by-step 去开发 JPA 的向导。 JPA 的规范最开始时是由 EJB 3.0 的持久性机制产生的, 它被公认为是把简单的 POJOs 持久化的机制。你只需少量 JAR 在 classpath 中,配置一点 Spring 的 bean, 就能在你喜爱的IDE中去开始感受 JPA 的强大威力了。我们在这里使用的是 Glassfish JPA - 一个基于 Oracle’s TopLink ORM framework 的开源项目。

保证你使用的是Java 5 (EJB 3.0 中 JPA 的先决条件).从 JavaPersistence.html">https://glassfish.dev.java.net/downloads/persistence/JavaPersistence.html 下载 glassfish JPA jar (注意: 我使用的是 “V2_build_02″ jar, 但该版本后的版本也应回往前兼容的.)从“installer” jar 中解压,并运行: java -jar glassfish-persistence-installer-v2-b02.jar把 toplink-essentials.jar 加入你的 classpath把数据库的驱动 JAR 也加入( 我用的是 version 1.8.0.1 的 hsqldb.jar 作为例子,但实际上你只需很少的改变就能适配到另外的数据库 )加入2.0 M5 以上版本的Spring JAR( http://sourceforge.net/project/showfiles.php?group_id=73357- spring.jar - spring-jpa.jar - spring-mock.jar。最后,把这些 JAR 也加入到你的classpath 中: - commons-logging.jar - log4j.jar - junit.jar,领域模型 (domain model)

这个例子中我们只是有目的地列举了3个简单的domain model. 要注意的是这例子中我们使用了annotation。 使用 JPA 时,一般会选择用annotation 或 XML 文件,又或者两者一起配合用,去指定ORM(object-relational mapping)元数据。在这里,我们只是选择了单独用annotation, 因为只需要在domain model 的代码中加入简短的描述就能马上办到。 首先, 看看餐厅 Restaurant class:

  1. package blog.jpa.domain;  
  2. import java.util.Set;  
  3. import javax.persistence.CascadeType;  
  4. import javax.persistence.Entity;  
  5. import javax.persistence.GeneratedValue;  
  6. import javax.persistence.GenerationType;  
  7. import javax.persistence.Id;  
  8. import javax.persistence.JoinColumn;  
  9. import javax.persistence.JoinTable;  
  10. import javax.persistence.ManyToMany;  
  11. import javax.persistence.OneToOne;  
  12. @Entity  
  13. public class Restaurant {  
  14. @Id  
  15. @GeneratedValue(strategy = GenerationType.AUTO)  
  16. private long id;  
  17. private String name;  
  18. @OneToOne(cascade = CascadeType.ALL)  
  19. private Address address;  
  20. @ManyToMany  
  21. @JoinTable(inverseJoinColumns = @JoinColumn(name = "ENTREE_ID"))  
  22. private Set entrees;  
  23. public long getId() {  
  24. return id;  
  25. }  
  26. public void setId(long id) {  
  27. this.id = id;  
  28. }  
  29. public String getName() {  
  30. return name;  

 

【编辑推荐】

  1. Spring AOP的一些概念
  2. acegi到Spring security的转换方式
  3. Spring Framework的理解
  4. 解决Spring2.0向spring2.5迁移的问题
  5. Spring框架人气暴涨
责任编辑:佚名 来源: 中国IT实验室
相关推荐

2009-06-01 12:04:38

JPASpringJAVA

2009-06-11 11:05:23

SUNGlassFish

2009-06-18 15:04:52

2009-06-11 09:48:04

2009-06-01 16:18:30

SpringJPA集成

2009-06-11 10:00:50

Glassfish安装GlassFish配置

2009-06-18 10:21:22

Spring的支持Sun GlassFi

2009-06-01 11:23:08

Glassfish部署Glassfish

2009-06-11 09:35:47

GlassFish配置多机集群

2012-03-06 11:25:40

ibmdw

2021-10-06 23:31:45

HibernateJPASpring Data

2009-06-11 13:46:38

用户访问权限GlassFish

2009-06-24 13:22:27

Glassfish

2009-06-22 15:39:45

JSFGlassFish管理

2022-04-28 08:05:05

数据库数据库交互

2009-06-02 10:28:36

JPA继承类Netbeans

2024-08-07 08:28:38

SpringHabernateJPA

2009-06-11 11:54:00

GlassFishTomcat

2013-09-22 10:15:01

Spring DataJPA

2013-06-21 15:07:22

点赞
收藏

51CTO技术栈公众号