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








