Foros del Web » Programación para mayores de 30 ;) » Java »

JPA, Servlets y ant

Estas en el tema de JPA, Servlets y ant en el foro de Java en Foros del Web. Hola estoy trabajando con Servlets y uso una base de datos en MySQL. Lo que pasa es que quiero usar JPA y estoy usando openjpa ...
  #1 (permalink)  
Antiguo 18/05/2012, 12:02
 
Fecha de Ingreso: mayo-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
JPA, Servlets y ant

Hola estoy trabajando con Servlets y uso una base de datos en MySQL.

Lo que pasa es que quiero usar JPA y estoy usando openjpa pero he tenido problemas ya que no puedo hacer funcionar a JPA y es que en la documentacion dice que debo tener el archivo persistence.xml en la carpeta META-INF y mediante ant ya la he puesto y segun yo deberia funcionar, pero no y me manda este error

<openjpa-2.1.1-r422266:1148538 fatal user error> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.

en el xml tengo definido el driver, por lo que siento que no esta encontrando el archivo de configuracion persistence.xml

aqui esta mi archivo
Código xml:
Ver original
  1. <?xml version="1.0"?>
  2. <persistence version="1.0">
  3.   <persistence-unit name="openjpa">
  4.     <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
  5.     <class>persistencia.Clase</class>
  6.     <properties>
  7.       <property name="openjpa.ConnectionURL" value="jdbc:mysql://localhost:3306/"/>
  8.       <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver"/>
  9.       <property name="openjpa.ConnectionUserName" value="root"/>
  10.       <property name="openjpa.ConnectionPassword" value="root"/>
  11.       <property name="openjpa.Log" value="DefaultLevel=WARN, Tool=INFO"/>
  12.     </properties>
  13.   </persistence-unit>
  14. </persistence>

y donde me da el error esta aqui

Código Java:
Ver original
  1. EntityManagerFactory factory = Persistence.createEntityManagerFactory("openjpa");
  2. EntityManager em = factory.createEntityManager(); <---- Error
  3. EntityTransaction tx = em.getTransaction();


la localizacion del driver no debe ser problema ya que cuando creo programaticamente mi unidad de persistencia con el codigo de abajo si funciona la conexion (aunque no funciona las operaciones de Persistencia en las Entidades ya que en este codigo no las defino)

Código Java:
Ver original
  1. Map<String, String> props = new HashMap<String, String>();
  2.            
  3.             props.put("openjpa.ConnectionURL", "jdbc:mysql://localhost:3306/");
  4.             props.put("openjpa.ConnectionDriverName", "com.mysql.jdbc.Driver");
  5.             props.put("openjpa.ConnectionUserName", "root");
  6.             props.put("openjpa.ConnectionPassword", "root");
  7.             props.put("openjpa.Log", "DefaultLevel=WARN, Tool=INFO");
  8.            
  9.             EntityManagerFactory emf = Persistence.createEntityManagerFactory("openjpa", props);
  10.            
  11.             EntityManager em = emf.createEntityManager();
  12.  
  13.             EntityTransaction tx = em.getTransaction();
  14.            
  15.             tx.begin();
  16.             //em.persist(carta); <-- aqui da error ya quw no sabe que Carta es una unidad de persistencia
  17.             tx.commit();

que tengo que hacer para que funcione, muchas gracias por sus respuestas

Etiquetas: ant, jpa, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:03.