2010-06-15 844 views
11

Todavía soy nuevo en Java y Eclipse y estoy intentando que mi aplicación se conecte a una base de datos. Creo que quiero usar EclipseLink, pero toda la documentación sobre el tema supone que ya sabes todo lo que hay que saber sobre todo.Uso de EclipseLink

me siguen dando vinculado de nuevo a este tutorial: http://www.vogella.de/articles/JavaPersistenceAPI/article.html

pero es básicamente inútil porque no le dice hacer nada. Para la sección Instalación, le dice que descargue EclipseLink y le da un enlace a la página de descarga, pero no le dice qué hacer con él después de la descarga. La página de descarga tampoco. Utilicé la opción "Instalar nuevo software" en Eclipse para instalar EclipseLink en Eclipse, pero me dio como 4 opciones diferentes, ninguna de las cuales se explica en ningún lado. Me dio opciones JPA, MOXy, SDO, etc., pero no sé cuál necesito. Acabo de instalarlos todos. Todo en la web supone que ya eres un gurú de Java y las cosas que son de naturaleza secundaria para los desarrolladores de Java nunca se explican, por lo que es muy frustrante para alguien que intenta aprender.

Entonces, ¿cómo instalo y uso EclipseLink en mi proyecto y qué debo hacer para conectarlo a un servidor Microsoft SQL? Nuevamente, soy nuevo en todo esto, así que no tengo idea de qué hacer. Gracias por la ayuda.

Respuesta

19

No creo que deba aprender a utilizar EclipseLink. EclipseLink es una implementación de referencia para JPA. Hay una serie de tutoriales en la web que puede leer sobre JPA. He escrito un series of articles para principiantes para crear aplicaciones web y una de las secciones trata sobre JPA (y EclipseLink). Si está interesado, eche un vistazo y agradecería que se discutiera sobre él para mejorarlo así como también mi propio entendimiento.

EDITAR: Aquí hay una respuesta más directa a su pregunta. Espero que ayude

Hay una serie de diferentes enfoques de descarga para EclipeLink. Esta es una manera:

Descargar EclipseLink Installer

Extracto de la eclipselink.jar del directorio de descarga JLIB e incluirla en la ruta de clases de proyectos.

Descargue el ejb3-persistence.jar e inclúyalo en el classpath de sus proyectos.

No tengo el servidor SQL, pero debería incluir el jar sqljdbc en su classpath. No sé qué versión está utilizando o si incluso importa, pero puede intentarlo link y descargar el archivo 1033 \ sqljdbc_3.0.1301.101_enu.tar.gz. Extraelo y copia el sqljdbc.jar en la classpath de tus proyectos.

Aquí está un ejemplo sencillo independiente:

persistencia.XML (guardado en el directorio META-INF en la carpeta src)

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

Entidad:

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

He revisado el enlace que proporcionó y solo había un artículo etiquetado eclipselink, que no contenía información alguna sobre mi pregunta.No explica cómo instalar/configurar EclipseLink, o cómo usarlo. Este artículo está dirigido a personas que ya usan Hibernate en Glassfish. –

+0

Gracias por tomarse el tiempo para echar un vistazo. El enlace que le envié contenía información sobre la conversión de una aplicación existente que utiliza la implementación de referencia de Hibernate a la implementación de referencia de EclipseLink. Contiene un enlace a una aplicación en funcionamiento que puede descargar, así como enlaces (incluida la página de inicio de EclipseLink) a sitios que le muestran cómo configurarlo. También tiene un enlace que lo redirige al inicio del tutorial, donde debe comenzar si no está familiarizado con la tecnología. No hay una solución rápida para lo que quieres hacer. Pruebe los tutoriales de JPA en Google EclipseLink para obtener más información. – Ross

+0

Aquí hay un enlace que probablemente sea más de lo que está buscando: http://www.eclipse.org/eclipselink/jpa.php – Ross

0

En voluminoso para ser la implementación de referencia de la APP, EclipseLink también ofertas:

EclipseLink MOXy

EclipseLink es un componente para asignar objetos Java (entidades JPA incluidas) a/desde XML. Se ajusta a las especificaciones JAXB 2.X (JSR-222) con extensiones útiles tales como: asignación basada en XPath, metadatos externalizados.

EclipseLink SDO

SDO representa Service Data Objects (JSR-235, EclipseLink es la implementación de referencia). Los datos se representan como un DataObject con métodos get/set genéricos (como set ("first-name", "Jane")). Los metadatos normalmente se proporcionan como un esquema XML, y hay varios ayudantes para actuar sobre los datos, incluida la conversión a/desde XML.

EclipseLink DBWS

se utiliza para crear un servicio Web como un medio para acceder a sus datos relacionales.

5

"Entonces, ¿cómo instalar y utilizar EclipseLink en mi proyecto

Dado que ninguna de las respuestas anteriores realmente responder a la pregunta" ¿Cómo puedo añadir la APP impl. bibliotecas a Eclipse", aquí está la respuesta (me llevó una hora de averiguarlo yo mismo!):

  • descarga una aplicación APP, por ejemplo eclipselink-2.5.1.v20130918-f2b9fc5.zip y extraer la implementación .. libs Por ejemplo: JPA eclipselink.jar/* jar en un directorio

  • en Eclipse ventana abierta -> preferencias en la ventana de preferencias trayectoria de la estructura abierta -> bibliotecas de usuario

  • en las bibliotecas de usuario haga clic en nuevo. , escriba "name jpa" => ok

  • clic en JPA y haga clic en "añadir frascos externos ... y seleccionar todas las bibliotecas impl extraídos

Después de que se puede completar el tutorial de vogella.

Para los administradores: es posible que desee marcar los comentarios anteriores como no válidos/offtopic. Especialmente, no coloque los frascos en la ruta del proyecto, ya que está a punto de crear un proyecto NUEVO. Sin embargo, la pregunta es demasiado amplia también.

+0

(fwiw, marcar no es un privilegio exclusivo del administrador, se otorga a cualquier persona con más de 15 años de reputación. Una vez que llegue allí, puede marcarse a sí mismo). –

Cuestiones relacionadas