1

第一次,在我的 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 属性和列名。

请帮帮我

4

0 回答 0