Mysql Java Netbeans Persistence
Publicado por Diego (14 intervenciones) el 21/12/2020 01:44:58
Hola amigos una vez más. Quizás alguien me pueda ayudar con lo siguiente. Estoy tratando de conectar una base de datos Myqsl desde Netbeans usando Java. Utilizo persistence. La cuestión es que logro crear el persistence, me conecto a la base de datos y obtengo las entidades y los controladores JPA de la base, pero en mi programa quiero grabar, editar o eliminar datos de la base.......y es allí donde no funciona el programa, se va directo al catch y no ejecuta lo del try.... Y ya no sé qué más hacer. Uso Netbeans 12.1, Mysql 8.0, el conector de Mysql mysql-connector-java-8.0.22, JDK 13, y la librería EclipseLink (JPA 2.1) pero no logro escribir en la base de datos y creo que esl problema es el conector. He usado muchas versiones anteriores a las 8.0.22 pero en todas me pasa lo mismo. Como les menciono, logro obtener esos datos, pero no logro modificar la base. Este el es persistence.xml:
Y este el archivo que intenta hacer cambios, la cuestión es que se pasa directo al cathc:
No me da errores pero esto sale en la consola:
run:
[EL Info]: 2020-12-20 19:24:16.005--ServerSession(341853399)--EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd
[EL Info]: connection: 2020-12-20 19:24:16.43--ServerSession(341853399)--file:/C:/Users/cuera/Documents/NetBeansProjects/OtraBase/build/classes/_OtraBasePU login successful
[EL Warning]: metamodel: 2020-12-20 19:24:16.453--The collection of metamodel types is empty. Model classes may not have been found during entity search for Java SE and some Java EE container managed persistence units. Please verify that your entity classes are referenced in persistence.xml using either <class> elements or a global <exclude-unlisted-classes>false</exclude-unlisted-classes> element
Mensaje insertar: Unknown entity bean class: class entidad.Asignatura, please verify that this class has been marked with the @Entity annotation.
No se guardó.
BUILD SUCCESSFUL (total time: 1 second)
Por favor, si alguien me puede ayudar desde ya mil gracias. Tengo un examen el miércoles y necesito ayuda en esto. Saldos cordiales.
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="OtraBasePU" transaction-type="RESOURCE_LOCAL">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/ladb?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC"/>
<property name="javax.persistence.jdbc.user" value="dferazo"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="javax.persistence.jdbc.password" value="dferazo1234"/>
<property name="javax.persistence.schema-generation.database.action" value="create"/>
</properties>
</persistence-unit>
</persistence>
Y este el archivo que intenta hacer cambios, la cuestión es que se pasa directo al cathc:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class gestionAsignatura {
private AsignaturaJpaController gestAsignatura = new AsignaturaJpaController();
private Asignatura asignatura = new Asignatura();
private String mensaje = "";
public String insertarAsignatura(int id, String nombre, String codigo) {
try {
asignatura.setIdAsignatura(id);
asignatura.setCodigoAsignatura(codigo);
asignatura.setNombreAsignatura(nombre);
gestAsignatura.create(asignatura);
mensaje = "Se guardó.";
} catch (Exception e) {
System.out.println("Mensaje insertar: " + e.getMessage());
mensaje = "No se guardó.";
}
return mensaje;
}
public String actualizarAsignatura(int id, String nombre, String codigo) {
try {
asignatura.setIdAsignatura(id);
asignatura.setNombreAsignatura(nombre);
asignatura.setCodigoAsignatura(codigo);
gestAsignatura.edit(asignatura);
mensaje = "Se actualizó.";
} catch (Exception e) {
System.out.println("Mensaje insertar: " + e.getMessage());
mensaje = "No se actualizó.";
}
return mensaje;
}
public String eliminarAsignatura(int id) {
try {
gestAsignatura.destroy(id);
mensaje = "Se eliminó";
} catch (Exception e) {
System.out.println("Mensaje eliminar: " + e.getMessage());
mensaje = "No se eliminó";
}
return mensaje;
}
}
No me da errores pero esto sale en la consola:
run:
[EL Info]: 2020-12-20 19:24:16.005--ServerSession(341853399)--EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd
[EL Info]: connection: 2020-12-20 19:24:16.43--ServerSession(341853399)--file:/C:/Users/cuera/Documents/NetBeansProjects/OtraBase/build/classes/_OtraBasePU login successful
[EL Warning]: metamodel: 2020-12-20 19:24:16.453--The collection of metamodel types is empty. Model classes may not have been found during entity search for Java SE and some Java EE container managed persistence units. Please verify that your entity classes are referenced in persistence.xml using either <class> elements or a global <exclude-unlisted-classes>false</exclude-unlisted-classes> element
Mensaje insertar: Unknown entity bean class: class entidad.Asignatura, please verify that this class has been marked with the @Entity annotation.
No se guardó.
BUILD SUCCESSFUL (total time: 1 second)
Por favor, si alguien me puede ayudar desde ya mil gracias. Tengo un examen el miércoles y necesito ayuda en esto. Saldos cordiales.
Valora esta pregunta


0