使用 EclipseLink

2022-09-03 00:28:16

我对Java和Eclipse还很陌生,我正在尝试让我的应用程序连接到数据库。我想我想使用EclipseLink,但是关于这个问题的所有文档都假设你已经知道关于一切的一切。

我一直被链接回本教程:http://www.vogella.de/articles/JavaPersistenceAPI/article.html

但它基本上是无用的,因为它没有告诉你如何做任何事情。对于安装部分,它告诉您下载EclipseLink并为您提供下载页面的链接,但不会告诉您下载后如何处理它。下载页面也没有。我在Eclipse中使用了“安装新软件”选项将EclipseLink安装到Eclipse中,但它给了我4个不同的选项,没有一个在任何地方解释。它给了我JPA,MOXy,SDO等选项,但我不知道我需要哪一个。我刚刚把它们都安装了。网络上的一切都假设你已经是Java大师,而Java开发人员的第二天性永远不会被解释,所以对于试图学习的人来说,这是非常令人沮丧的。

那么,如何在我的项目中安装和使用EclipseLink,以及我需要做什么才能将其连接到Microsoft SQL服务器?同样,我是所有这些的新手,所以我不知道该怎么办。感谢您的帮助。


答案 1

我不认为你只需要学习如何使用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();
            }
        }
    }
}

答案 2

“那么如何在我的项目中安装和使用EclipseLink。

由于前面的答案都没有真正回答“我如何添加jpa impl.库黯然失色“,这是答案(我花了一个小时自己弄清楚!

  • 下载 JPA 实现,例如 eclipselink-2.5.1.v20130918-f2b9fc5.zip并提取实现库。例如:eclipselink.jar jpa/*.jar到一个目录

  • 在 eclipse 中打开窗口 -> 首选项。在首选项窗口中,打开构建路径 ->用户库

  • 在用户库中,单击“新建”,键入“name jpa” = > ok

  • 单击jpa,然后单击“添加外部jar...,然后选择所有提取的 impl 库

之后,您可以完成vogella的教程。

致管理员:您可能希望将之前的评论标记为无效/偏离主题。特别是您不要将jars放入项目路径,因为您将要创建一个新项目。但是,这个问题也太宽泛了。


推荐