Java - instanciar un nuevo objeto con un parametro de constructor tipo objeto-clase

 
Vista:

instanciar un nuevo objeto con un parametro de constructor tipo objeto-clase

Publicado por ebsigma (1 intervención) el 16/02/2020 13:51:38
Hola, el problema que tengo es con la clase hibernate.
A la hora de insertar una asignatura, en la clase de la tabla asignatura, como tiene un campo que es codigo_curso, el cual es clave externa de la tabla curso que tiene una clave primaria que es codigo_curso.

cuando me crea la clase asignatura sus campos son

1
2
3
4
private int codigoAsignatura;
private Cursos cursos;
private String nombre;
private String descripcion;

por lo que el constructor me pone un campo tipo cursos

1
2
3
4
5
public Asignaturas(int codigoAsignatura, Cursos cursos, String nombre, String descripcion) {
this.codigoAsignatura = codigoAsignatura;
this.cursos = cursos;
this.nombre = nombre;
this.descripcion = descripcion;}

cuando intento crear un nuevo objeto con el constructor

1
Asignaturas as = new Asignaturas(11, 05, "IN", "Insertada");

el segundo campo me dice que lo ponga tipo cursos pero no se como hacerlo...
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 Lawliet
Val: 308
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

instanciar un nuevo objeto con un parametro de constructor tipo objeto-clase

Publicado por Lawliet (303 intervenciones) el 16/02/2020 21:46:13
1
2
3
4
Cursos curso = new Cursos();
curso.setIdCurso(1);
 
Asignaturas asignatura = new Asignaturas(11, curso, "IN", "Insertada");

El objeto Cursos se pasa como parámetro al constructor de tu objeto Asignaturas

Sin más que comentar, quedo al pendiente de cualquier duda y/o comentario.

Saludos! :3
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

instanciar un nuevo objeto con un parametro de constructor tipo objeto-clase

Publicado por Franklin (179 intervenciones) el 17/02/2020 13:50:33
Lo que indica Law es correcto, pero...

Una consulta: es necesario almacenar en la clase Asignatura la instancia de la clase Cursos?. No bastaría con el código o ID del curso al cual va asignado?, a modo de identificar a donde pertenece.

Xample:

1
2
3
4
5
6
7
8
9
public Asignaturas(int codigoAsignatura, String codCurso, String nombre, String descripcion) {
this.codigoAsignatura = codigoAsignatura;
this.nombre = nombre;
this.descripcion = descripcion;
 
if(cursos.validarCurso(codCurso)){ // Validas que existe dicho código en la clase Cursos, en caso de ser true asigna el valor.
this.codCurso = codCurso; // o puedes tambien validar primero el código antes de agregarlo al constructor y evitar el IF dentro del const. asignnatura
}
}

El objetivo de mi idea es la siguiente: si hablamos que la asignatura va asignada a un curso, como tal deberías de guardar solo el código al cual pertenece y con uno que otro método para validar o tomar info del mismo. Aunque es similar al punto inicial.
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