2010-06-15 2 views
11

Ich bin immer noch neu in Java und Eclipse und ich versuche, meine Anwendung auf eine Verbindung mit einer Datenbank zu bekommen. Ich denke, ich möchte EclipseLink verwenden, aber die gesamte Dokumentation geht davon aus, dass Sie bereits alles über alles wissen.Verwendung von EclipseLink

Ich erhalte zu diesem Tutorial verknüpft zurück: http://www.vogella.de/articles/JavaPersistenceAPI/article.html

Aber es ist im Grunde nutzlos, weil es Ihnen nicht sagen, wie etwas zu tun. Im Abschnitt "Installation" werden Sie aufgefordert, EclipseLink herunterzuladen. Sie erhalten einen Link zur Download-Seite, aber Sie erfahren nicht, wie Sie nach dem Download vorgehen sollten. Die Downloadseite tut es auch nicht. Ich habe die Option "Neue Software installieren" in Eclipse verwendet, um EclipseLink in Eclipse zu installieren, aber es gab mir 4 verschiedene Optionen, von denen keine erklärt werden kann. Es gab mir Optionen JPA, MOXy, SDO, etc., aber ich weiß nicht, welche ich brauche. Ich habe sie alle installiert. Alles im Web geht davon aus, dass Sie bereits ein Java-Guru sind und Dinge, die für Java-Entwickler selbstverständlich sind, werden nie erklärt, so dass es für jemanden, der versucht zu lernen, sehr frustrierend ist.

Wie installiere und verwende ich EclipseLink in meinem Projekt und was muss ich tun, um es mit einem Microsoft SQL Server zu verbinden? Auch hier bin ich neu, also habe ich keine Ahnung, was ich tun soll. Danke für die Hilfe.

Antwort

19

Ich glaube nicht, dass Sie nur lernen müssen, wie EclipseLink zu verwenden. EclipseLink ist eine Referenzimplementierung für JPA. Es gibt eine Reihe von Tutorials im Internet, die Sie in Bezug auf JPA lesen können. Ich habe eine series of articles für Anfänger zum Erstellen von Web-Anwendungen geschrieben und einer der Abschnitte befasst sich mit JPA (und EclipseLink). Wenn Sie interessiert sind, werfen Sie einen Blick darauf und ich begrüße die Diskussion darüber, um es zu verbessern, sowie mein eigenes Verständnis.

EDIT: Hier ist eine direkte Antwort auf Ihre Frage. Ich hoffe, es hilft

Es gibt eine Reihe von verschiedenen Download-Ansätze für EclipeLink zu nehmen. Dies ist ein Weg:

Herunterladen EclipseLink Installer

Extrahieren Sie die eclipselink.jar aus dem Download-Verzeichnis jlib und es in Ihren Projekten Classpath.

Laden Sie die ejb3-persistence.jar herunter und fügen Sie sie in den Klassenpfad Ihres Projekts ein.

Ich habe SQL-Server nicht selbst, aber Sie müssten die sqljdbc Glas in Ihrem Klassenpfad enthalten. Sie wissen nicht, welche Version Sie verwenden, oder wenn es überhaupt zählt, aber Sie können dies link versuchen und die 1033 \ sqljdbc_3.0.1301.101_enu.tar.gz Datei herunterladen. Entpacken Sie es und kopieren Sie die Datei sqljdbc.jar in den Klassenpfad Ihres Projekts.

Hier ist ein einfaches Standalone-Beispiel:

Ausdauer.xml (im Verzeichnis META-INF in Ihrem src Ordner gespeichert)

<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> 

Entity Klasse:

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; 
    } 
} 

Simple

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(); 
      } 
     } 
    } 
} 
+0

Ich habe den von Ihnen bereitgestellten Link überprüft und es gab nur einen Artikel, der mit eclipselink getaggt wurde und keinerlei Informationen über meine Frage enthielt.Es wird nicht erklärt, wie EclipseLink installiert/konfiguriert wird oder wie es verwendet wird. Dieser Artikel richtet sich an Personen, die bereits Hibernate auf Glassfish verwenden. –

+0

Danke, dass Sie sich die Zeit genommen haben, einen Blick darauf zu werfen. Der Link, den ich Ihnen gesendet habe, enthielt Informationen zum Konvertieren einer vorhandenen Anwendung, die die Hibernate-Referenzimplementierung zur EclipseLink-Referenzimplementierung verwendet. Es enthält einen Link zu einer funktionierenden Anwendung, die Sie herunterladen können, sowie Links (einschließlich der EclipseLink-Homepage) zu Websites, die Ihnen zeigen, wie Sie sie konfigurieren. Es hat auch einen Link, der Sie zurück zum Anfang des Tutorials leitet, wo Sie anfangen sollten, wenn Sie mit der Technologie nicht vertraut sind. Es gibt keine schnelle Lösung für das, was Sie tun möchten. Versuchen Sie, JPA Tutorials EclipseLink für mehr zu googlen. – Ross

+0

Hier ist ein Link, der wahrscheinlich mehr ist, was Sie suchen: http://www.eclipse.org/eclipselink/jpa.php – Ross

0

neben der Implementierung JPA Referenz ist EclipseLink auch Angebote:

EclipseLink MOXy

EclipseLink ist eine Komponente zum Zuordnen von Java-Objekten (einschließlich JPA-Entitäten) zu/von XML. Es entspricht den JAXB 2.X (JSR-222) Spezifikationen mit nützlichen Erweiterungen wie: XPath-basiertes Mapping, externalisierte Metadaten.

EclipseLink SDO

SDO steht für Service Data Objects (JSR-235, Eclipse ist die Referenzimplementierung). Daten werden als ein DataObject mit generischen get/set-Methoden dargestellt (z. B. set ("Vorname", "Jane")). Die Metadaten werden normalerweise als XML-Schema bereitgestellt, und es gibt mehrere Hilfsprogramme für die Datenverarbeitung, einschließlich der Konvertierung in/aus XML.

EclipseLink DBWS

wird verwendet, um relationale Daten für den Zugriff auf einen Web Service als ein Mittel zu schaffen.

5

„So wie ich installieren und verwenden Eclipse in meinem Projekt

Da keiner der bisherigen Antworten wirklich die Frage“ Wie kann ich die JPA impl. Bibliotheken „zu verdunkeln, hier ist die Antwort (dauerte eine Stunde, es selbst herauszufinden!):

  • herunterladen eine JPA-Implementierung, zum Beispiel eclipselink-2.5.1.v20130918-f2b9fc5.zip und die Umsetzung extrahieren .. libs zum Beispiel: eclipselink.jar JPA/* jar in ein Verzeichnis

  • in eclipse open window -> Einstellungen Im Einstellungsfenster geöffnet Build-Pfad -> Benutzerbibliotheken

  • In Anwenderbibliotheken auf neues klicken. , geben Sie "name jpa" ein => ok

  • Klick auf JPA und klicken Sie auf „add externe Gläser ... und wählen Sie alle extrahierten impl Bibliotheken

Danach Sie vogella Tutorial abschließen können.

An die Admins: Vielleicht möchten Sie die vorherigen Kommentare als ungültig/Offtopic kennzeichnen. Vor allem legen Sie die Gläser nicht in den Projektpfad, da Sie gerade ein NEW Projekt erstellen. Die Frage ist jedoch auch zu weit gefasst.

+0

(fwiw, flagging ist kein Administrator-Privileg, es wird jedem mit mehr als 15 Reputation gegeben. Sobald du da bist, kannst du dich selbst melden.) –