英文:
How to map a weak entity in Spring Boot and Java persistence
问题
已编辑(2020年9月30日):MySQL中的表显示如下:
我有一个名为UbicacionPlanta(英文中的UbicateFloor)的实体,它是Departamento(英文中的Department)的弱实体。其结构如下:
@Entity(name = "ubicaciones_plantas")
@Table
public class UbicacionPlanta implements Serializable {
@Id
@JoinColumn(name = "iddepartamento", referencedColumnName = "iddepartamento", nullable = false)
@OneToMany
@JsonInclude(JsonInclude.Include.NON_NULL)
private Departamento departamento;
@Id
@Column(name = "idubicacion")
private Long idubicacion;
@Column(name = "abreviacion_ubicacion")
private String abreviacion_ubicacion;
@Column(name = "descripcion_ubicacion")
private String descripcion_ubicacion;
public Departamento getDepartamento() {
return departamento;
}
//Getters and Setters
}
IntelliJ IDEA显示如下错误:
关于DTO,该类的实现如下:
public class MUbicacionPlanta {
private String departamentoId;
private Long idubicacion;
private String abreviacion_ubicacion;
private String descripcion_ubicacion;
public MUbicacionPlanta(UbicacionPlanta ubicacionPlanta) {
this.departamentoId = ubicacionPlanta.getDepartamento().getIddepartamentos();
this.idubicacion = ubicacionPlanta.getIdubicacion();
this.abreviacion_ubicacion = ubicacionPlanta.getAbreviacion_ubicacion();
this.descripcion_ubicacion = ubicacionPlanta.getDescripcion_ubicacion();
}
//Getters and Setters
}
请问如何集成弱实体的ID?
英文:
Edited (9/30/20): The table in MySQL is displayed as it follows:
I have a entity called UbicacionPlanta (UbicateFloor in English), weak entity of Departamento (Department in English). The structure is the following:
@Entity(name = "ubicaciones_plantas")
@Table
public class UbicacionPlanta implements Serializable {
@Id
@JoinColumn(name = "iddepartamento", referencedColumnName = "iddepartamento", nullable = false)
@OneToMany
@JsonInclude(JsonInclude.Include.NON_NULL)
private Departamento departamento;
@Id
@Column(name = "idubicacion")
private Long idubicacion;
@Column(name = "abreviacion_ubicacion")
private String abreviacion_ubicacion;
@Column(name = "descripcion_ubicacion")
private String descripcion_ubicacion;
public Departamento getDepartamento() {
return departamento;
}
//Getters and Setters
}
Intellij IDEA give an error like this:
Regarding DTO, the class is implemented like:
public class MUbicacionPlanta {
private String departamentoId;
private Long idubicacion;
private String abreviacion_ubicacion;
private String descripcion_ubicacion;
public MUbicacionPlanta(UbicacionPlanta ubicacionPlanta) {
this.departamentoId = ubicacionPlanta.getDepartamento().getIddepartamentos();
this.idubicacion = ubicacionPlanta.getIdubicacion();
this.abreviacion_ubicacion = ubicacionPlanta.getAbreviacion_ubicacion();
this.descripcion_ubicacion = ubicacionPlanta.getDescripcion_ubicacion();
}
//Getters and Setters
}
How can I do in order to integrate the ids for weak entity, please?
答案1
得分: 0
由于这个问题的帮助:https://stackoverflow.com/questions/29760730/how-to-mapping-an-onetomany-relation-with-weak-entity-in-hibernate
"Departamento"(部门)的实现如下:
@Entity(name = "departamentos")
@Table
public class Departamento implements Serializable {
@Id
@Size(max = 50)
@Column(name = "iddepartamentos")
private String iddepartamentos;
@Column(name = "nombre_departamento")
private String nombre_departamento;
@JoinColumn(name = "sede_departamento", referencedColumnName = "sede_departamento", nullable = false)
@ManyToOne
private Sede sede;
@OneToMany(mappedBy="departamentos")
private Set<UbicacionPlanta> ubicacionPlantas;
// 构造方法,getter 和 setter
}
而 "UbicacionPlanta"(楼层位置)如下:
@Entity(name = "ubicaciones_plantas")
@Table
public class UbicacionPlanta implements Serializable {
@JoinColumn(name = "iddepartamento", referencedColumnName = "iddepartamento", nullable = false)
@ManyToOne
private Departamento departamento;
@Id
@Column(name = "idubicacion")
private Long idubicacion;
@Column(name = "abreviacion_ubicacion")
private String abreviacion_ubicacion;
@Column(name = "descripcion_ubicacion")
private String descripcion_ubicacion;
// 构造方法,getter 和 setter
}
英文:
Thanks to this question: https://stackoverflow.com/questions/29760730/how-to-mapping-an-onetomany-relation-with-weak-entity-in-hibernate
Departamento (Department) is implemented like this:
@Entity(name = "departamentos")
@Table
public class Departamento implements Serializable {
@Id
@Size(max = 50)
@Column(name = "iddepartamentos")
private String iddepartamentos;
@Column(name = "nombre_departamento")
private String nombre_departamento;
@JoinColumn(name = "sede_departamento", referencedColumnName = "sede_departamento", nullable = false)
@ManyToOne
private Sede sede;
@OneToMany(mappedBy="departamentos")
private Set<UbicacionPlanta> ubicacionPlantas;
//Constructor, getters and setters
}
And UbicacionPlanta (UbicateFloor), as it follows:
@Entity(name = "ubicaciones_plantas")
@Table
public class UbicacionPlanta implements Serializable {
@JoinColumn(name = "iddepartamento", referencedColumnName = "iddepartamento", nullable = false)
@ManyToOne
private Departamento departamento;
@Id
@Column(name = "idubicacion")
private Long idubicacion;
@Column(name = "abreviacion_ubicacion")
private String abreviacion_ubicacion;
@Column(name = "descripcion_ubicacion")
private String descripcion_ubicacion;
//Constructor, getters and setters
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论