首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用EclipseLink

使用EclipseLink
EN

Stack Overflow用户
提问于 2010-06-15 23:49:40
回答 4查看 24.4K关注 0票数 17

我仍然是Java和Eclipse的新手,我正在尝试让我的应用程序连接到数据库。我想我想使用EclipseLink,但是所有关于这个问题的文档都假设您已经了解了所有需要了解的东西。

我一直链接到这个教程:http://www.vogella.de/articles/JavaPersistenceAPI/article.html

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

那么,我如何在我的项目中安装和使用EclipseLink,我需要做些什么才能将它连接到Microsoft SQL server?再说一次,我对这一切都是新手,所以我不知道该怎么做。谢谢你的帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-16 00:15:51

我认为你不需要仅仅学习如何使用EclipseLink。EclipseLink是JPA的参考实现。网上有许多关于JPA的教程,你可以在上面阅读。我已经为初学者编写了一个构建web应用程序的series of articles,其中一个部分介绍了JPA (和EclipseLink)。如果你感兴趣,请看一看,我欢迎讨论它,以提高它以及我自己的理解。

编辑:这里是对你的问题的更直接的回答。我希望它能帮上忙

对于EclipeLink,有许多不同的下载方法。这是一种方法:

下载EclipseLink Installer

从download jlib目录中提取eclipselink.jar并将其包含在您的项目类路径中。

下载ejb3-persistence.jar并将其包含在您的项目类路径中。

我自己没有SQL server,但您需要在类路径中包含sqljdbc jar。我不知道您使用的是什么版本,也不知道这是否重要,但是您可以尝试这个link并下载1033\sqljdbc_3.0.1301.101_enu.tar.gz文件。解压它并将sqljdbc.jar复制到您的项目类路径中。

下面是一个简单的独立示例:

persistence.xml (保存在src文件夹中的META-INF目录中)

代码语言:javascript
复制
<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>

实体类:

代码语言:javascript
复制
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;
    }
}   

SimpleTest

代码语言:javascript
复制
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();
            }
        }
    }
}
票数 23
EN

Stack Overflow用户

发布于 2014-02-03 02:17:31

“那么,如何在项目中安装和使用EclipseLink

由于之前的答案都没有真正回答“如何将jpa impl.library添加到eclipse”这个问题,下面是答案(我自己花了一个小时才弄明白!):

  • 下载一个JPA实现,例如eclipselink-2.5.1.v20130918-f2b9fc5.zip并解压缩实现库。例如: eclipselink.jar jpa/*.jar to a directory
  • In eclipse open window -> preferences。在preferences窗口中打开build path -> user libraries
  • In user libraries单击
  • ,键入"name jpa“=> ok
  • 单击jpa并单击"add external jars ...”并选择all extracted impl libraries

然后你就可以完成vogella的教程了。

致管理员:您可能希望将以前的评论标记为无效/离题。尤其是,当您将要创建一个新的项目时,您没有将jars放到项目路径中。然而,这个问题也太宽泛了。

票数 7
EN

Stack Overflow用户

发布于 2020-05-08 21:01:47

没有人提到在Maven的帮助下安装EclipseLink库的方法。如果你有一个Maven项目,并用Maven管理你的依赖项,你可以简单地添加以下依赖项,EclipseLink库将能够在你的项目中使用:

代码语言:javascript
复制
<!-- https://mvnrepository.com/artifact/org.eclipse.persistence/eclipselink -->
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.7.6</version>
</dependency>

您可以找到其他版本的EclipseLink here。在添加和下载Maven依赖项之后,您可以按照此问题下的最高评分答案中提到的那样设置persistence.xml,并开始使用数据库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3046797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档