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
TURNO
CONTROLADORA
Aca dejo imagen de la base de datos

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;
}
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

Valora esta pregunta


0