Java - Java mysql problema alta lista

 
Vista:

Java mysql problema alta lista

Publicado por cesar (1 intervención) el 11/02/2021 05:16:06
Hola buenas noches, no se si es el lugar indicado, busque en muchos lugares, pero no logro encontrar respuesta a lo siguiente.
Tengo una clase Paciente, que hereda de Persona, y tiene una relacion oneToOne con Usuarios, a su vez tiene una relacion oneToMany con Turnos.
Esto quiere decir que tengo una clase Usuarios y una lista Turnos dentro de Pacientes.
Mi problema surge al querer dar el alta de la lista dentro de Paciente. No se como debo declarar los atributos.
Adjunto codigo: clases Paciente - Turnos - controladora
Foto BD mysql

PACIENTE
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
package Logica;
 
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
 
@Entity
public class Paciente extends Persona implements Serializable{
    @Id
    int idPaciente;
    String tipoSangre;
    String obraSocial;
    @OneToOne
    Usuario usuarioPac;
    @OneToMany
    List<Turno> listaTurnos;
 
    public Paciente() {
    }
 
    public Paciente(int idPaciente, String tipoSangre, String obraSocial, Usuario usuarioPac, List<Turno> listaTurnos) {
        this.idPaciente = idPaciente;
        this.tipoSangre = tipoSangre;
        this.obraSocial = obraSocial;
        this.usuarioPac = usuarioPac;
        this.listaTurnos = listaTurnos;
    }
 
    public Paciente(int idPaciente, String tipoSangre, String obraSocial, Usuario usuarioPac, List<Turno> listaTurnos, String dni, String nombre, String apellido, String direccion, String telefono, String correo, Date fechaNac) {
        super(dni, nombre, apellido, direccion, telefono, correo, fechaNac);
        this.idPaciente = idPaciente;
        this.tipoSangre = tipoSangre;
        this.obraSocial = obraSocial;
        this.usuarioPac = usuarioPac;
        this.listaTurnos = listaTurnos;
    }
TURNO

1
2
3
4
5
6
7
8
9
10
@Entity
public class Turno implements Serializable {
    @Id
    int idTurno;
    @Temporal(TemporalType.DATE)
    Date fechaTurno;
    @Temporal(TemporalType.TIME)
    Date horaTurno;
    String motivo;
}

CONTROLADORA
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
package Logica;
 
import Persistencia.controladoraPersistencia;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
public class controladora {
 
    controladoraPersistencia controlPersist = new controladoraPersistencia();
    public void crearPaciente(String dni, String nombre, String apellido, String telefono, String direccion, String correo, int idPaciente, String tipoSangre, String obraSocial, int idUsuario, String nombreUsu, String passUsu) {
 
        Usuario usu = new Usuario();
 
        usu.setIdUsuario(idUsuario);
        usu.setNombreUsu(nombreUsu);
        usu.setPassUsu(passUsu);
 
        Paciente pac = new Paciente();
 
        pac.setDni(dni);
        pac.setNombre(nombre);
        pac.setApellido(apellido);
        pac.setTelefono(telefono);
        pac.setDireccion(direccion);
        pac.setCorreo(correo);
        pac.setFechaNac(new Date());
        pac.setIdPaciente(idPaciente);
        pac.setTipoSangre(tipoSangre);
        pac.setObraSocial(obraSocial);
        pac.setUsuarioPac(usu);
 
 
        Persona per = new Persona();
 
        per.setDni(dni);
        per.setNombre(nombre);
        per.setApellido(apellido);
        per.setTelefono(telefono);
        per.setDireccion(direccion);
        per.setCorreo(correo);
        per.setFechaNac(new Date());
 
        /*pac.setUsuarioPac(usu);*/
        controlPersist.crearPersona(per);
        controlPersist.crearPaciente(pac);
        /*controlPersist.crearUsuario(usu);*/
      }
 
    public void crearTurno(int idTurno, String motivo, int idPaciente, String dniPac){
        Turno tur = new Turno();
        tur.setIdTurno(idTurno);
        tur.setFechaTurno(new Date());
        tur.setHoraTurno(new Date());
        tur.setMotivo(motivo);
 
        controlPersist.crearTurno(tur);
    }
}

Aca dejo imagen de la base de datos

bd1
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