Hibernate工具注释异常:列数错误

时间:2018-01-11 17:41:08

标签: java mysql hibernate

我使用Hibernate Tools从MySQL数据库生成这个java生成的类,并且我有一个注释异常:

org.hibernate.AnnotationException: A Foreign key refering pt.sicad.model.Wfatividade from pt.sicad.model.Wfhistoricoatividade has the wrong number of column. should be 7

生成的文件是:

Wfhistoricoatividade 上课:

public class Wfhistoricoatividade implements java.io.Serializable {

    private WfhistoricoatividadeId id;
    private Wfatividade wfatividade;
    private Wfworkflow wfworkflow;

    public Wfhistoricoatividade() {
    }

    public Wfhistoricoatividade(WfhistoricoatividadeId id, Wfatividade wfatividade, Wfworkflow wfworkflow) {
        this.id = id;
        this.wfatividade = wfatividade;
        this.wfworkflow = wfworkflow;
    }

    @EmbeddedId

    @AttributeOverrides({
        @AttributeOverride(name = "wfhistoricoatividadeId", column = @Column(name = "WFHISTORICOATIVIDADE_ID", nullable = false)),
        @AttributeOverride(name = "wfworkflowId", column = @Column(name = "WFWORKFLOW_ID", nullable = false)),
        @AttributeOverride(name = "estadoInicialId", column = @Column(name = "ESTADO_INICIAL_ID", nullable = false)),
        @AttributeOverride(name = "estadoFinalId", column = @Column(name = "ESTADO_FINAL_ID", nullable = false)),
        @AttributeOverride(name = "dataCriacao", column = @Column(name = "DATA_CRIACAO", length = 19)),
        @AttributeOverride(name = "userCriador", column = @Column(name = "USER_CRIADOR")),
        @AttributeOverride(name = "atividadeId", column = @Column(name = "ATIVIDADE_ID", nullable = false)) })

    public WfhistoricoatividadeId getId() {
        return this.id;
    }

    public void setId(WfhistoricoatividadeId id) {
        this.id = id;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ATIVIDADE_ID", nullable = false, insertable = false, updatable = false)
    public Wfatividade getWfatividade() {
        return this.wfatividade;
    }

    public void setWfatividade(Wfatividade wfatividade) {
        this.wfatividade = wfatividade;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "WFWORKFLOW_ID", nullable = false, insertable = false, updatable = false)
    public Wfworkflow getWfworkflow() {
        return this.wfworkflow;
    }

    public void setWfworkflow(Wfworkflow wfworkflow) {
        this.wfworkflow = wfworkflow;
    }

}

WfhistoricoatividadeId 上课:

public class WfhistoricoatividadeId implements java.io.Serializable {

    private int wfhistoricoatividadeId;
    private int wfworkflowId;
    private int estadoInicialId;
    private int estadoFinalId;
    private Date dataCriacao;
    private Integer userCriador;
    private int atividadeId;

    public WfhistoricoatividadeId() {
    }

    public WfhistoricoatividadeId(int wfhistoricoatividadeId, int wfworkflowId, int estadoInicialId, int estadoFinalId,
            int atividadeId) {
        this.wfhistoricoatividadeId = wfhistoricoatividadeId;
        this.wfworkflowId = wfworkflowId;
        this.estadoInicialId = estadoInicialId;
        this.estadoFinalId = estadoFinalId;
        this.atividadeId = atividadeId;
    }

    public WfhistoricoatividadeId(int wfhistoricoatividadeId, int wfworkflowId, int estadoInicialId, int estadoFinalId,
            Date dataCriacao, Integer userCriador, int atividadeId) {
        this.wfhistoricoatividadeId = wfhistoricoatividadeId;
        this.wfworkflowId = wfworkflowId;
        this.estadoInicialId = estadoInicialId;
        this.estadoFinalId = estadoFinalId;
        this.dataCriacao = dataCriacao;
        this.userCriador = userCriador;
        this.atividadeId = atividadeId;
    }

    @Column(name = "WFHISTORICOATIVIDADE_ID", nullable = false)
    public int getWfhistoricoatividadeId() {
        return this.wfhistoricoatividadeId;
    }

    public void setWfhistoricoatividadeId(int wfhistoricoatividadeId) {
        this.wfhistoricoatividadeId = wfhistoricoatividadeId;
    }

    @Column(name = "WFWORKFLOW_ID", nullable = false)
    public int getWfworkflowId() {
        return this.wfworkflowId;
    }

    public void setWfworkflowId(int wfworkflowId) {
        this.wfworkflowId = wfworkflowId;
    }

    @Column(name = "ESTADO_INICIAL_ID", nullable = false)
    public int getEstadoInicialId() {
        return this.estadoInicialId;
    }

    public void setEstadoInicialId(int estadoInicialId) {
        this.estadoInicialId = estadoInicialId;
    }

    @Column(name = "ESTADO_FINAL_ID", nullable = false)
    public int getEstadoFinalId() {
        return this.estadoFinalId;
    }

    public void setEstadoFinalId(int estadoFinalId) {
        this.estadoFinalId = estadoFinalId;
    }

    @Column(name = "DATA_CRIACAO", length = 19)
    public Date getDataCriacao() {
        return this.dataCriacao;
    }

    public void setDataCriacao(Date dataCriacao) {
        this.dataCriacao = dataCriacao;
    }

    @Column(name = "USER_CRIADOR")
    public Integer getUserCriador() {
        return this.userCriador;
    }

    public void setUserCriador(Integer userCriador) {
        this.userCriador = userCriador;
    }

    @Column(name = "ATIVIDADE_ID", nullable = false)
    public int getAtividadeId() {
        return this.atividadeId;
    }

    public void setAtividadeId(int atividadeId) {
        this.atividadeId = atividadeId;
    }

}

Wfatividade 类:

public class Wfatividade implements java.io.Serializable {

    private WfatividadeId id;
    private Wfestado wfestado;
    private Wftipo wftipo;
    private Wfworkflow wfworkflow;
    private Set<Wfhistoricoatividade> wfhistoricoatividades = new HashSet<Wfhistoricoatividade>(0);

    public Wfatividade() {
    }

    public Wfatividade(WfatividadeId id) {
        this.id = id;
    }

    public Wfatividade(WfatividadeId id, Wfestado wfestado, Wftipo wftipo, Wfworkflow wfworkflow,
            Set<Wfhistoricoatividade> wfhistoricoatividades) {
        this.id = id;
        this.wfestado = wfestado;
        this.wftipo = wftipo;
        this.wfworkflow = wfworkflow;
        this.wfhistoricoatividades = wfhistoricoatividades;
    }

    @EmbeddedId

    @AttributeOverrides({
            @AttributeOverride(name = "wfatividadeId", column = @Column(name = "WFATIVIDADE_ID", nullable = false)),
            @AttributeOverride(name = "wfworkflowId", column = @Column(name = "WFWORKFLOW_ID")),
            @AttributeOverride(name = "wftipoId", column = @Column(name = "WFTIPO_ID")),
            @AttributeOverride(name = "instanciaId", column = @Column(name = "INSTANCIA_ID")),
            @AttributeOverride(name = "estadoAtual", column = @Column(name = "ESTADO_ATUAL")),
            @AttributeOverride(name = "dataCriacao", column = @Column(name = "DATA_CRIACAO", length = 19)),
            @AttributeOverride(name = "userCriador", column = @Column(name = "USER_CRIADOR")) })
    public WfatividadeId getId() {
        return this.id;
    }

    public void setId(WfatividadeId id) {
        this.id = id;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ESTADO_ATUAL", insertable = false, updatable = false)
    public Wfestado getWfestado() {
        return this.wfestado;
    }

    public void setWfestado(Wfestado wfestado) {
        this.wfestado = wfestado;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "WFTIPO_ID", insertable = false, updatable = false)
    public Wftipo getWftipo() {
        return this.wftipo;
    }

    public void setWftipo(Wftipo wftipo) {
        this.wftipo = wftipo;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "WFWORKFLOW_ID", insertable = false, updatable = false)
    public Wfworkflow getWfworkflow() {
        return this.wfworkflow;
    }

    public void setWfworkflow(Wfworkflow wfworkflow) {
        this.wfworkflow = wfworkflow;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "wfatividade")
    public Set<Wfhistoricoatividade> getWfhistoricoatividades() {
        return this.wfhistoricoatividades;
    }

    public void setWfhistoricoatividades(Set<Wfhistoricoatividade> wfhistoricoatividades) {
        this.wfhistoricoatividades = wfhistoricoatividades;
    }
}

WfatividadeId 类:

public class WfatividadeId implements java.io.Serializable {

    private int wfatividadeId;
    private Integer wfworkflowId;
    private Integer wftipoId;
    private Integer instanciaId;
    private Integer estadoAtual;
    private Date dataCriacao;
    private Integer userCriador;

    public WfatividadeId() {
    }

    public WfatividadeId(int wfatividadeId) {
        this.wfatividadeId = wfatividadeId;
    }

    public WfatividadeId(int wfatividadeId, Integer wfworkflowId, Integer wftipoId, Integer instanciaId,
            Integer estadoAtual, Date dataCriacao, Integer userCriador) {
        this.wfatividadeId = wfatividadeId;
        this.wfworkflowId = wfworkflowId;
        this.wftipoId = wftipoId;
        this.instanciaId = instanciaId;
        this.estadoAtual = estadoAtual;
        this.dataCriacao = dataCriacao;
        this.userCriador = userCriador;
    }

    @Column(name = "WFATIVIDADE_ID", nullable = false)
    public int getWfatividadeId() {
        return this.wfatividadeId;
    }

    public void setWfatividadeId(int wfatividadeId) {
        this.wfatividadeId = wfatividadeId;
    }

    @Column(name = "WFWORKFLOW_ID")
    public Integer getWfworkflowId() {
        return this.wfworkflowId;
    }

    public void setWfworkflowId(Integer wfworkflowId) {
        this.wfworkflowId = wfworkflowId;
    }

    @Column(name = "WFTIPO_ID")
    public Integer getWftipoId() {
        return this.wftipoId;
    }

    public void setWftipoId(Integer wftipoId) {
        this.wftipoId = wftipoId;
    }

    @Column(name = "INSTANCIA_ID")
    public Integer getInstanciaId() {
        return this.instanciaId;
    }

    public void setInstanciaId(Integer instanciaId) {
        this.instanciaId = instanciaId;
    }

    @Column(name = "ESTADO_ATUAL")
    public Integer getEstadoAtual() {
        return this.estadoAtual;
    }

    public void setEstadoAtual(Integer estadoAtual) {
        this.estadoAtual = estadoAtual;
    }

    @Column(name = "DATA_CRIACAO", length = 19)
    public Date getDataCriacao() {
        return this.dataCriacao;
    }

    public void setDataCriacao(Date dataCriacao) {
        this.dataCriacao = dataCriacao;
    }

    @Column(name = "USER_CRIADOR")
    public Integer getUserCriador() {
        return this.userCriador;
    }

    public void setUserCriador(Integer userCriador) {
        this.userCriador = userCriador;
    }
}

它可能是什么?我生成了所有7列,并且我在其他2个类之间也有其他类似关系,并且没有此异常。

0 个答案:

没有答案