我使用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个类之间也有其他类似关系,并且没有此异常。