2010-06-15 22 views
11

io sono ancora nuovo a Java ed Eclipse e sto cercando di ottenere la mia domanda di connettersi a un database. Penso di voler usare EclipseLink, ma tutta la documentazione sull'argomento presuppone che tu sappia già tutto quello che c'è da sapere su tutto.Utilizzando EclipseLink

Continuo a ricevere legato di nuovo a questo tutorial: http://www.vogella.de/articles/JavaPersistenceAPI/article.html

Ma è praticamente inutile perché non ti dice come fare qualsiasi cosa. Per la sezione Installazione, ti dice di scaricare EclipseLink e ti fornisce un collegamento alla pagina di download, ma non ti dice cosa fare con esso dopo il download. Anche la pagina di download non lo è. Ho usato l'opzione "Installa nuovo software" in Eclipse per installare EclipseLink in Eclipse, ma mi ha dato 4 opzioni diverse, nessuna delle quali è spiegata da nessuna parte. Mi ha dato le opzioni JPA, MOXy, SDO, ecc., Ma non so di quale ho bisogno. Li ho appena installati tutti. Tutto sul web presuppone che tu sia già un guru di Java e le cose che sono di secondaria importanza per gli sviluppatori Java non vengono mai spiegate, quindi è molto frustrante per qualcuno che cerca di imparare.

Allora, come faccio installare e utilizzare EclipseLink nel mio progetto e che cosa devo fare per collegarlo a un server Microsoft SQL? Ancora una volta, sono nuovo di tutto ciò, quindi non ho idea di cosa fare. Grazie per l'aiuto.

risposta

19

Non credo che è necessario imparare solo come usare EclipseLink. EclipseLink è un'implementazione di riferimento per JPA. Ci sono un numero di tutorial sul web che puoi leggere su JPA. Ho scritto un series of articles per i principianti per costruire applicazioni web e una delle sezioni si occupa di JPA (e EclipseLink). Se siete interessati date un'occhiata e accolgo con favore la discussione su di esso per migliorarlo così come la mia comprensione.

MODIFICA: Ecco una risposta più diretta alla tua domanda. Spero che aiuta

Ci sono una serie di approcci diversi download per prendere per EclipeLink. Questo è un modo:

Scarica EclipseLink Installer

Estrarre l'eclipselink.jar dalla directory di download jlib e includerlo nei vostri progetti classpath.

Scaricare il ejb3-persistence.jar e includerlo nel classpath progetti.

non ho SQL server me stesso, ma si avrebbe bisogno di includere il vaso sqljdbc nel classpath. Non sai quale versione si utilizza o se ancora le cose, ma si può provare questo link e scaricare il 1033 \ file di sqljdbc_3.0.1301.101_enu.tar.gz. Estrarlo e copiare sqljdbc.jar nel classpath dei progetti.

Ecco un semplice esempio standalone: ​​

persistenza.xml (salvato nella directory META-INF nella cartella src)

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

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

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

Ho controllato il collegamento che hai fornito e c'era solo un articolo etichettato eclipselink, che non conteneva informazioni di sorta sulla mia domanda.Non spiega come installare/configurare EclipseLink, o come usarlo. Questo articolo era rivolto a persone che già utilizzano Hibernate su Glassfish. –

+0

Grazie per aver dedicato del tempo per dare un'occhiata. Il collegamento che ho inviato conteneva informazioni sulla conversione di un'applicazione esistente che utilizza l'implementazione di riferimento di Hibernate sull'implementazione di riferimento di EclipseLink. Contiene un collegamento a un'applicazione funzionante che è possibile scaricare e collegamenti (inclusa la home page di EclipseLink) ai siti che mostrano come configurarlo. Ha anche un link che ti reindirizza all'inizio del tutorial in cui dovresti iniziare se non conosci la tecnologia. Non c'è una soluzione rapida per quello che vuoi fare. Prova Googling tutorial JPA EclipseLink per ulteriori informazioni. – Ross

+0

Ecco un link che probabilmente è più quello che stai cercando: http://www.eclipse.org/eclipselink/jpa.php – Ross

0

In addtion ad essere l'implementazione di riferimento APP, EclipseLink anche offre:

EclipseLink MOXy

EclipseLink è un componente per il mapping di oggetti Java (entità JPA incluse) a/da XML. È conforme alle specifiche JAXB 2.X (JSR-222) con estensioni utili come: mapping basato su XPath, metadati esterni.

EclipseLink SDO

SDO acronimo di Service Data Objects (JSR-235, EclipseLink è l'implementazione di riferimento). I dati sono rappresentati come un DataObject con metodi get/set generici (come set ("first-name", "Jane")). I metadati vengono normalmente forniti come uno schema XML e vi sono diversi helper per agire sui dati inclusa la conversione da/verso XML.

EclipseLink DBWS

viene utilizzato per creare un servizio Web come mezzo di accesso ai dati relazionali.

5

"Allora come faccio a installare e utilizzare EclipseLink nel mio progetto

Dal momento che nessuna delle risposte precedenti davvero rispondere alla domanda" Come si aggiunge l'APP impl. librerie per Eclipse", ecco la risposta (mi ha portato un'ora per capirlo io!):

  • scaricare un'implementazione JPA, ad esempio eclipselink-2.5.1.v20130918-f2b9fc5.zip ed estrarre l'attuazione .. librerie ad esempio: JPA eclipselink.jar/* vaso in una directory

  • in Eclipse finestra aperta -> opzioni in preferenze finestra aperta percorso di generazione -> librerie utente

  • in user librerie cliccare su nuovo. digita "nome jpa" => ok

  • clic su APP e cliccare "aggiungi vasi esterni ... e selezionare tutte le librerie impl estratti

Dopo di che è possibile completare tutorial di vogella.

Per gli amministratori: è possibile contrassegnare i commenti precedenti come non validi/offtopic. Soprattutto non si mettono i vasi sul percorso del progetto, poiché si sta per creare un progetto NEW. Tuttavia, la domanda è troppo ampia.

+0

(fww, flagging non è un privilegio di solo amministratore, è assegnato a chiunque abbia più di 15 anni di reputazione. Una volta arrivato lì, puoi segnalarti.) –

Problemi correlati