Java - Mysql Java Netbeans Persistence

 
Vista:
Imágen de perfil de Diego
Val: 19
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

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:

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&amp;useJDBCCompliantTimezoneShift=true&amp;useLegacyDatetimeCode=false&amp;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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Mysql Java Netbeans Persistence

Publicado por Rodrigo (623 intervenciones) el 21/12/2020 05:12:56
Sugiero incluir la definicion de la clase Asignatura, porque te esta sugiriendo que agregues @Entity ahi, pero no se puede saber si lo hiciste o no, aunque tal vez no sea ese el. problema.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Diego
Val: 19
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

Mysql Java Netbeans Persistence

Publicado por Diego (14 intervenciones) el 21/12/2020 05:46:22
Gracias por contestar, esta es:

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
@Entity
@Table(name = "asignatura")
@NamedQueries({
    @NamedQuery(name = "Asignatura.findAll", query = "SELECT a FROM Asignatura a"),
    @NamedQuery(name = "Asignatura.findByIdAsignatura", query = "SELECT a FROM Asignatura a WHERE a.idAsignatura = :idAsignatura"),
    @NamedQuery(name = "Asignatura.findBySemestreAsignatura", query = "SELECT a FROM Asignatura a WHERE a.semestreAsignatura = :semestreAsignatura"),
    @NamedQuery(name = "Asignatura.findByHorasAsignatura", query = "SELECT a FROM Asignatura a WHERE a.horasAsignatura = :horasAsignatura"),
    @NamedQuery(name = "Asignatura.findByCreditosAsignatura", query = "SELECT a FROM Asignatura a WHERE a.creditosAsignatura = :creditosAsignatura")})
public class Asignatura implements Serializable {
 
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "id_asignatura")
    private Integer idAsignatura;
    @Lob
    @Column(name = "codigo_asignatura")
    private String codigoAsignatura;
    @Lob
    @Column(name = "nombre_asignatura")
    private String nombreAsignatura;
    @Column(name = "semestre_asignatura")
    private Integer semestreAsignatura;
    @Column(name = "horas_asignatura")
    private Integer horasAsignatura;
    @Column(name = "creditos_asignatura")
    private Integer creditosAsignatura;
    @Lob
    @Column(name = "dependencia_asignatura")
    private String dependenciaAsignatura;
    @JoinColumn(name = "id_carrera", referencedColumnName = "id_carrera")
    @ManyToOne
    private Carrera idCarrera;
 
    public Asignatura() {
    }
 
    public Asignatura(Integer idAsignatura) {
        this.idAsignatura = idAsignatura;
    }
 
    public Integer getIdAsignatura() {
        return idAsignatura;
    }
 
    public void setIdAsignatura(Integer idAsignatura) {
        this.idAsignatura = idAsignatura;
    }
 
    public String getCodigoAsignatura() {
        return codigoAsignatura;
    }
 
    public void setCodigoAsignatura(String codigoAsignatura) {
        this.codigoAsignatura = codigoAsignatura;
    }
 
    public String getNombreAsignatura() {
        return nombreAsignatura;
    }
 
    public void setNombreAsignatura(String nombreAsignatura) {
        this.nombreAsignatura = nombreAsignatura;
    }
 
    public Integer getSemestreAsignatura() {
        return semestreAsignatura;
    }
 
    public void setSemestreAsignatura(Integer semestreAsignatura) {
        this.semestreAsignatura = semestreAsignatura;
    }
 
    public Integer getHorasAsignatura() {
        return horasAsignatura;
    }
 
    public void setHorasAsignatura(Integer horasAsignatura) {
        this.horasAsignatura = horasAsignatura;
    }
 
    public Integer getCreditosAsignatura() {
        return creditosAsignatura;
    }
 
    public void setCreditosAsignatura(Integer creditosAsignatura) {
        this.creditosAsignatura = creditosAsignatura;
    }
 
    public String getDependenciaAsignatura() {
        return dependenciaAsignatura;
    }
 
    public void setDependenciaAsignatura(String dependenciaAsignatura) {
        this.dependenciaAsignatura = dependenciaAsignatura;
    }
 
    public Carrera getIdCarrera() {
        return idCarrera;
    }
 
    public void setIdCarrera(Carrera idCarrera) {
        this.idCarrera = idCarrera;
    }
 
    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idAsignatura != null ? idAsignatura.hashCode() : 0);
        return hash;
    }
 
    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Asignatura)) {
            return false;
        }
        Asignatura other = (Asignatura) object;
        if ((this.idAsignatura == null && other.idAsignatura != null) || (this.idAsignatura != null && !this.idAsignatura.equals(other.idAsignatura))) {
            return false;
        }
        return true;
    }
 
    @Override
    public String toString() {
        return "entidad.Asignatura[ idAsignatura=" + idAsignatura + " ]";
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar