我不认为你只需要学习如何使用EclipseLink。EclipseLink 是 JPA 的参考实现。网络上有许多关于JPA的教程,您可以阅读这些教程。我为初学者写了一系列关于构建Web应用程序的文章,其中一节涉及JPA(和EclipseLink)。如果您有兴趣,请看一看,我欢迎对此进行讨论,以改进它以及我自己的理解。
编辑:以下是对您的问题的更直接的回答。我希望它有帮助
EclipeLink有许多不同的下载方法。这是一种方法:
下载 EclipseLink Installer
从下载的 jlib 目录中提取 eclipselink.jar,并将其包含在项目类路径中。
下载 ejb3-persistence.jar并将其包含在项目类路径中。
我自己没有SQL服务器,但你需要在你的类路径中包含sqljdbc jar。不知道你用的是哪个版本,或者它是否重要,但你可以试试这个链接,并下载1033\sqljdbc_3.0.1301.101_enu.tar.gz 文件。提取它并将 sqljdbc.jar复制到项目类路径中。
下面是一个简单的独立示例:
持久性.xml(保存在 src 文件夹的 META-INF 目录中)
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
<persistence-unit name="escribs-pu" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
<!-- haven't tested with SQL server so hope the below is correct -->
<property name="eclipselink.jdbc.driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="eclipselink.jdbc.url" value="jdbc:sqlserver://localhost;databaseName=MyDB" />
<property name="eclipselink.jdbc.user" value="myusername" />
<property name="eclipselink.jdbc.password" value="mypassword" />
</properties>
</persistence-unit>
</persistence>
实体类:
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="person")
public class Person {
private Long id;
private String name;
@Id
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
简单测试
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class SimpleTest {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("escribs-pu");
Person person = new Person();
person.setId(1L);
person.setName("Clark");
EntityManager em = null;
EntityTransaction tx = null;
try {
em = emf.createEntityManager();
tx = em.getTransaction();
tx.begin();
em.persist(person);
tx.commit();
System.out.println("Person id: " + person.getId());
} catch (RuntimeException e) {
tx.rollback();
throw e;
} finally {
if (em != null && em.isOpen()) {
em.close();
}
}
}
}