Spring 2.5 中配置 JPA
本文提供了一個(gè)簡(jiǎn)單的 Spring 框架 standalone 環(huán)境下,如何 step-by-step 去開(kāi)發(fā) JPA 的向?qū)А?JPA 的規(guī)范最開(kāi)始時(shí)是由 EJB 3.0 的持久性機(jī)制產(chǎn)生的, 它被公認(rèn)為是把簡(jiǎn)單的 POJOs 持久化的機(jī)制。你只需少量 JAR 在 classpath 中,配置一點(diǎn) Spring 的 bean, 就能在你喜愛(ài)的IDE中去開(kāi)始感受 JPA 的強(qiáng)大威力了。我們?cè)谶@里使用的是 Glassfish JPA - 一個(gè)基于 Oracle’s TopLink ORM framework 的開(kāi)源項(xiàng)目。
初始化設(shè)置
保證你使用的是Java 5 (EJB 3.0 中 JPA 的先決條件).
從 https://glassfish.dev.java.net/downloads/persistence/JavaPersistence.html 下載 glassfish JPA jar (注意: 我使用的是 “V2_build_02″ jar, 但該版本后的版本也應(yīng)回往前兼容的.)
從“installer” jar 中解壓,并運(yùn)行: java -jar glassfish-persistence-installer-v2-b02.jar
把 toplink-essentials.jar 加入你的 classpath
把數(shù)據(jù)庫(kù)的驅(qū)動(dòng) JAR 也加入( 我用的是 version 1.8.0.1 的 hsqldb.jar 作為例子,但實(shí)際上你只需很少的改變就能適配到另外的數(shù)據(jù)庫(kù) )
加入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
領(lǐng)域模型 (domain model)
這個(gè)例子中我們只是有目的地列舉了3個(gè)簡(jiǎn)單的domain model. 要注意的是這例子中我們使用了annotation。 使用 JPA 時(shí),一般會(huì)選擇用annotation 或 XML 文件,又或者兩者一起配合用,去指定ORM(object-relational mapping)元數(shù)據(jù)。在這里,我們只是選擇了單獨(dú)用annotation, 因?yàn)橹恍枰赿omain model 的代碼中加入簡(jiǎn)短的描述就能馬上辦到。 首先, 看看餐廳 Restaurant class:
package blog.jpa.domain; @Entity @Id private String name; @OneToOne(cascade = CascadeType.ALL) @ManyToMany public long getId() { public void setId(long id) { public String getName() { |
【編輯推薦】