化设置
保证你使用是Java 5 (EJB 3.0 中 JPA 先决条件).
从http://glassfish.dev.java.net/downloads/persistence/JavaPersistence.html下载glassfish JPA jar (注意: 我使用是 “V2_build_02″jar,但该版本后版本也应回往前兼容.)
从“er” jar 中解压并运行: java-jarglassfish-persistence-er-v2-b02.jar
把 toplink-essentials.jar 加入你 path
把数据库驱动 JAR 也加入( 我用是 version 1.8.0.1 hsqldb.jar作为例子但实际上你只需很少改变就能适配到另外数据库 )
加入2.0 M5 以上版本SpringJAR(http://sourceforge.net/project/showfiles.php?group_id=73357)-spring.jar - spring-jpa.jar - spring-mock.jar
最后把这些 JAR 也加入到你path 中: - commons-logging.jar - log4j.jar-junit.jar
领域模型 (do model)
这个例子中我们只是有目地列举了3个简单do model. 要注意是这例子中我们使用了annotation使用JPA 时般会选择用annotation 或 XML文件又或者两者起配合用去指定ORM(t-relationalmapping)元数据在这里我们只是选择了单独用annotation,只需要在do model代码中加入简短描述就能马上办到 首先, 看看餐厅 Restaurant :
package blog.jpa.do;importjava.util.Set;importjavax.persistence.CascadeType;importjavax.persistence.Entity;importjavax.persistence.GeneratedValue;importjavax.persistence.GenerationType;importjavax.persistence.Id;importjavax.persistence.JoinColumn;importjavax.persistence.JoinTable;importjavax.persistence.ManyToMany;importjavax.persistence.OneToOne;
@Entitypublic Restaurant
@Id@GeneratedValue(strategy = GenerationType.AUTO)privatelongid;
private String name;
@OneToOne(cascade = CascadeType.ALL)private Address address;
@ManyToMany@JoinTable(inverseJoinColumns = @JoinColumn(name="ENTREE_ID"))private Set entrees;
public long getId id;
public void Id(long id) this.id = id;
public String getName name;
最新评论