熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Spring 2.5 中配置 JPA

2013-11-23 20:30:39  來源: Java開源技術 

  本文提供了一個簡單的 Spring 框架 standalone 環境下如何 stepbystep 去開發 JPA 的向導 JPA 的規范最開始時是由 EJB 的持久性機制產生的 它被公認為是把簡單的 POJOs 持久化的機制你只需少量 JAR 在 classpath 中配置一點 Spring 的 bean 就能在你喜愛的IDE中去開始感受 JPA 的強大威力了我們在這裡使用的是 Glassfish JPA 一個基於 Oracles TopLink ORM framework 的開源項目

  初始化設置

  保證你使用的是Java (EJB 中 JPA 的先決條件)
從 l> 下載 glassfish JPA jar (注意: 我使用的是 V_build_″ jar 但該版本後的版本也應回往前兼容的)
installer jar 中解壓並運行 java jar glassfishpersistenceinstallervbjar
把 toplinkessentialsjar 加入你的 classpath
把數據庫的驅動 JAR 也加入( 我用的是 version 的 hsqldbjar 作為例子但實際上你只需很少的改變就能適配到另外的數據庫 )
加入 M 以上版本的Spring JAR( ?group_id=) springjar springjpajar springmockjar
最後把這些 JAR 也加入到你的classpath 中 commonsloggingjar logjjar junitjar
領域模型 (domain model)

  這個例子中我們只是有目的地列舉了個簡單的domain model 要注意的是這例子中我們使用了annotation 使用 JPA 時一般會選擇用annotation 或 XML 文件又或者兩者一起配合用去指定ORM(objectrelational mapping)元數據在這裡我們只是選擇了單獨用annotation 因為只需要在domain model 的代碼中加入簡短的描述就能馬上辦到 首先 看看餐廳 Restaurant class:

borderColorDark=#ffffff cellPadding= width= align=center borderColorLight=black border=> ee>

  package blogjpadomain;
import javautilSet;
import javaxpersistenceCascadeType;
import javaxpersistenceEntity;
import javaxpersistenceGeneratedValue;
import javaxpersistenceGenerationType;
import javaxpersistenceId;
import javaxpersistenceJoinColumn;
import javaxpersistenceJoinTable;
import javaxpersistenceManyToMany;
import javaxpersistenceOneToOne;

  @Entity
public class Restaurant {

  @Id
@GeneratedValue(strategy = GenerationTypeAUTO)
private long id;

  private String name;

  @OneToOne(cascade = CascadeTypeALL)
private Address address;

  @ManyToMany
@JoinTable(inverseJoinColumns = @JoinColumn(name = ENTREE_ID))
private Set entrees;

  public long getId() {
return id;
}

  public void setId(long id) {
thisid = id;
}

  public String getName() {
return name;
}


From:http://tw.wingwit.com/Article/program/Java/ky/201311/28600.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.