第一次,在我的 Java REST Web 服务中使用 Hibernate 和 EJB 之后,我注意到在某些表中我有重复的列。例如,如果我使用参数“parameterOne”定义了实体“Table1”,该参数引用了“parameter_one”列,那么现在在 Mysql 数据库中的“Table_1”表上,我得到了“patameterOne”列。我该如何解决这个问题?是的,好的,我可以从数据库中删除该列,但有时外键和 mysql 不允许我删除它们。
实体'Disservizi'
package model;
// Generated 10-feb-2017 16.23.07 by Hibernate Tools 4.0.0.Final
import java.util.Date;
import java.util.Set;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
/**
* Disservizi generated by hbm2java
*/
@Entity
@Table(name = "disservizi")
public class Disservizi implements java.io.Serializable {
private static final long serialVersionUID = 1L;
@OneToMany(mappedBy = "disserviziIdDisservizio", targetEntity = StoricoDisservizi.class)
private Set<StoricoDisservizi> storicoDisservizis;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_disservizio")
private Long idDisservizio;
@Column(name = "stati_disservizio_id_stato_disservizio")
private Long statiDisservizioIdStatoDisservizio;
@ManyToOne
@JoinColumn(name = "categorie_problemi_id_categoria_problema", referencedColumnName = "id_categoria_problema", nullable = true)
private CategorieProblemi categorieProblemiIdCategoriaProblema;
@Column(name = "tempi_ripristino_id_tempo_ripristino")
private Long tempiRipristinoIdTempoRipristino;
@Column(name = "gruppi_owner_id_gruppo_owner")
private Long gruppiOwnerIdGruppoOwner;
@Column(name = "tipi_connessione_id_tipo_connessione")
private Long tipiConnessioneIdTipoConnessione;
@ManyToOne
@JoinColumn(name = "applicativi_impattati_id_applicativo_impattato", referencedColumnName = "id_applicativo_impattato", nullable = true)
private ApplicativiImpattati applicativiImpattatiIdApplicativoImpattato;
@Column(name = "aree_id_area")
private Long areeIdArea;
@Column(name = "numeri_kit_id_numero_kit")
private Long numeriKitIdNumeroKit;
@Column(name = "cause_chiusura_id_causa_chiusura")
private Long causeChiusuraIdCausaChiusura;
@ManyToOne
@JoinColumn(name = "impatti_id_impatto", referencedColumnName = "id_impatto", nullable = true)
private Impatti impattiIdImpatto;
@Column(name = "id_storico_disservizio")
private Long idStoricoDisservizio;
@Column(name = "disservizio")
private String disservizio;
@Column(name = "aggiorna_disservizio")
private String aggiornaDisservizio;
@Column(name = "dettaglio")
private String dettaglio;
@Column(name = "dettaglio_chiusura")
private String dettaglioChiusura;
@Column(name = "preview_sms")
private String previewSms;
@Column(name = "location")
private String location;
@Column(name = "via_stato_disservizio")
private boolean viaStatoDisservizio;
@Column(name = "escalation")
private boolean escalation;
@Column(name = "cliente_in_escalation")
private String clienteInEscalation;
@Column(name = "tecnico_owner")
private String tecnicoOwner;
@Column(name = "data_inizio_disservizio")
private Date dataInizioDisservizio;
@Column(name = "data_chiusura")
private Date dataChiusura;
@Column(name = "body_email")
private String bodyEmail;
@Column(name = "inibizione_dl")
private Boolean inibizioneDl;
@Column(name = "impatti_iniziali_id_impatto_iniziale")
private Long impattiInizialiIdImpattoIniziale;
@Column(name = "zone_disservizio_id_zona_disservizio")
private Long zoneDisservizioIdZonaDisservizio;
@Column(name = "cause_chiusura_sd")
private String causaChiusuraSd;
public Disservizi() {
}
public Long getIdDisservizio() {
return this.idDisservizio;
}
public void setIdDisservizio(Long idDisservizio) {
this.idDisservizio = idDisservizio;
}
public long getStatiDisservizioIdStatoDisservizio() {
return this.statiDisservizioIdStatoDisservizio;
}
public void setStatiDisservizioIdStatoDisservizio(long statiDisservizioIdStatoDisservizio) {
this.statiDisservizioIdStatoDisservizio = statiDisservizioIdStatoDisservizio;
}
public CategorieProblemi getCategorieProblemiIdCategoriaProblema() {
return this.categorieProblemiIdCategoriaProblema;
}
public void setCategorieProblemiIdCategoriaProblema(CategorieProblemi categorieProblemiIdCategoriaProblema) {
this.categorieProblemiIdCategoriaProblema = categorieProblemiIdCategoriaProblema;
}
public Long getTempiRipristinoIdTempoRipristino() {
return this.tempiRipristinoIdTempoRipristino;
}
public void setTempiRipristinoIdTempoRipristino(Long tempiRipristinoIdTempoRipristino) {
this.tempiRipristinoIdTempoRipristino = tempiRipristinoIdTempoRipristino;
}
public Long getGruppiOwnerIdGruppoOwner() {
return this.gruppiOwnerIdGruppoOwner;
}
public void setGruppiOwnerIdGruppoOwner(Long gruppiOwnerIdGruppoOwner) {
this.gruppiOwnerIdGruppoOwner = gruppiOwnerIdGruppoOwner;
}
public Long getTipiConnessioneIdTipoConnessione() {
return this.tipiConnessioneIdTipoConnessione;
}
public void setTipiConnessioneIdTipoConnessione(Long tipiConnessioneIdTipoConnessione) {
this.tipiConnessioneIdTipoConnessione = tipiConnessioneIdTipoConnessione;
}
public ApplicativiImpattati getApplicativiImpattatiIdApplicativoImpattato() {
return this.applicativiImpattatiIdApplicativoImpattato;
}
public void setApplicativiImpattatiIdApplicativoImpattato(ApplicativiImpattati applicativiImpattatiIdApplicativoImpattato) {
this.applicativiImpattatiIdApplicativoImpattato = applicativiImpattatiIdApplicativoImpattato;
}
public Long getAreeIdArea() {
return this.areeIdArea;
}
public void setAreeIdArea(Long areeIdArea) {
this.areeIdArea = areeIdArea;
}
public Long getNumeriKitIdNumeroKit() {
return this.numeriKitIdNumeroKit;
}
public void setNumeriKitIdNumeroKit(Long numeriKitIdNumeroKit) {
this.numeriKitIdNumeroKit = numeriKitIdNumeroKit;
}
public Long getCauseChiusuraIdCausaChiusura() {
return this.causeChiusuraIdCausaChiusura;
}
public void setCauseChiusuraIdCausaChiusura(Long causeChiusuraIdCausaChiusura) {
this.causeChiusuraIdCausaChiusura = causeChiusuraIdCausaChiusura;
}
public Impatti getImpattiIdImpatto() {
return this.impattiIdImpatto;
}
public void setImpattiIdImpatto(Impatti impattiIdImpatto) {
this.impattiIdImpatto = impattiIdImpatto;
}
public Long getIdStoricoDisservizio() {
return this.idStoricoDisservizio;
}
public void setIdStoricoDisservizio(Long idStoricoDisservizio) {
this.idStoricoDisservizio = idStoricoDisservizio;
}
public String getDisservizio() {
return this.disservizio;
}
public void setDisservizio(String disservizio) {
this.disservizio = disservizio;
}
public String getAggiornaDisservizio() {
return this.aggiornaDisservizio;
}
public void setAggiornaDisservizio(String aggiornaDisservizio) {
this.aggiornaDisservizio = aggiornaDisservizio;
}
public String getDettaglio() {
return this.dettaglio;
}
public void setDettaglio(String dettaglio) {
this.dettaglio = dettaglio;
}
public String getDettaglioChiusura() {
return this.dettaglioChiusura;
}
public void setDettaglioChiusura(String dettaglioChiusura) {
this.dettaglioChiusura = dettaglioChiusura;
}
public String getPreviewSms() {
return this.previewSms;
}
public void setPreviewSms(String previewSms) {
this.previewSms = previewSms;
}
public String getLocation() {
return this.location;
}
public void setLocation(String location) {
this.location = location;
}
public boolean isViaStatoDisservizio() {
return this.viaStatoDisservizio;
}
public void setViaStatoDisservizio(boolean viaStatoDisservizio) {
this.viaStatoDisservizio = viaStatoDisservizio;
}
public boolean isEscalation() {
return this.escalation;
}
public void setEscalation(boolean escalation) {
this.escalation = escalation;
}
public String getClienteInEscalation() {
return this.clienteInEscalation;
}
public void setClienteInEscalation(String clienteInEscalation) {
this.clienteInEscalation = clienteInEscalation;
}
public String getTecnicoOwner() {
return this.tecnicoOwner;
}
public void setTecnicoOwner(String tecnicoOwner) {
this.tecnicoOwner = tecnicoOwner;
}
public Date getDataInizioDisservizio() {
return this.dataInizioDisservizio;
}
public void setDataInizioDisservizio(Date dataInizioDisservizio) {
this.dataInizioDisservizio = dataInizioDisservizio;
}
public Date getDataChiusura() {
return this.dataChiusura;
}
public void setDataChiusura(Date dataChiusura) {
this.dataChiusura = dataChiusura;
}
public String getBodyEmail() {
return this.bodyEmail;
}
public void setBodyEmail(String bodyEmail) {
this.bodyEmail = bodyEmail;
}
public Boolean getInibizioneDl() {
return this.inibizioneDl;
}
public void setInibizioneDl(Boolean inibizioneDl) {
this.inibizioneDl = inibizioneDl;
}
public Long getImpattiInizialiIdImpattoIniziale() {
return this.impattiInizialiIdImpattoIniziale;
}
public void setImpattiInizialiIdImpattoIniziale(Long impattiInizialiIdImpattoIniziale) {
this.impattiInizialiIdImpattoIniziale = impattiInizialiIdImpattoIniziale;
}
public Long getZoneDisservizioIdZonaDisservizio() {
return this.zoneDisservizioIdZonaDisservizio;
}
public void setZoneDisservizioIdZonaDisservizio(Long zoneDisservizioIdZonaDisservizio) {
this.zoneDisservizioIdZonaDisservizio = zoneDisservizioIdZonaDisservizio;
}
public String getCausaChiusuraSd() {
return this.causaChiusuraSd;
}
public void setCausaChiusuraSd(String causaChiusuraSd) {
this.causaChiusuraSd = causaChiusuraSd;
}
public Set<StoricoDisservizi> getDisservizis() {
return storicoDisservizis;
}
public void setDisservizis(Set<StoricoDisservizi> storicoDisservizis) {
this.storicoDisservizis = storicoDisservizis;
}
}
问题出在参数 impattiIdimpatto 上。我在数据库中有一个同名的列,我不能删除它,因为它是一个外键。在我的项目中,我将类放在 persistence.xml 中,文件 Disservizi.hbm.xml 包含映射 btw 属性和列名。
请帮帮我