本文提供了一個簡單的 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=
>
e
e
>
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