Chave primária composta no Hibernate

0 respostas
A

Olá pessoal,

Tenho uma classe com uma chave primária composta. Peguei um exemplo aqui no GUJ de como fazer a Classe com a chave composta, porém, está dando um erro ao executar o programa, como se eu não tivesse definido a chave.

Alguém sabe como resolver?

Desde já agradeço.

Classe que utiliza a PK

@SuppressWarnings("serial")
@Entity(name="view_integra_numerario")
@IdClass(ViewIntegraNumerarioPK.class)
public class ViewIntegraNumerario implements Serializable{
	
	@EmbeddedId
	ViewIntegraNumerarioPK integraNumerarioPK;
    private String processo;
    private Date dt_solicitacao;
    private Double valor;
    private String usuario;
    
	public String getProcesso() {
		return processo;
	}
	public Date getDt_solicitacao() {
		return dt_solicitacao;
	}
	public Double getValor() {
		return valor;
	}
	public String getUsuario() {
		return usuario;
	}
	public void setProcesso(String processo) {
		this.processo = processo;
	}
	public void setDt_solicitacao(Date dt_solicitacao) {
		this.dt_solicitacao = dt_solicitacao;
	}
	public void setValor(Double valor) {
		this.valor = valor;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	
	public ViewIntegraNumerarioPK getIntegraNumerarioPK() {
		return integraNumerarioPK;
	}
	public void setIntegraNumerarioPK(ViewIntegraNumerarioPK integraNumerarioPK) {
		this.integraNumerarioPK = integraNumerarioPK;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((dt_solicitacao == null) ? 0 : dt_solicitacao.hashCode());
		result = prime * result
				+ ((processo == null) ? 0 : processo.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		ViewIntegraNumerario other = (ViewIntegraNumerario) obj;
		if (dt_solicitacao == null) {
			if (other.dt_solicitacao != null)
				return false;
		} else if (!dt_solicitacao.equals(other.dt_solicitacao))
			return false;
		if (processo == null) {
			if (other.processo != null)
				return false;
		} else if (!processo.equals(other.processo))
			return false;
		return true;
	}
  
}

Classe com a definição da PK

@SuppressWarnings("serial")
public class ViewIntegraNumerarioPK implements Serializable{
	
    private String str_codigotipounidadeoper;
    private String str_codigounidadeoper;
    private int li_sequenciaprocesso;
    private int li_seqnumerario;
    
	public String getStr_codigotipounidadeoper() {
		return str_codigotipounidadeoper;
	}
	public void setStr_codigotipounidadeoper(String str_codigotipounidadeoper) {
		this.str_codigotipounidadeoper = str_codigotipounidadeoper;
	}
	public String getStr_codigounidadeoper() {
		return str_codigounidadeoper;
	}
	public void setStr_codigounidadeoper(String str_codigounidadeoper) {
		this.str_codigounidadeoper = str_codigounidadeoper;
	}
	public Integer getLi_sequenciaprocesso() {
		return li_sequenciaprocesso;
	}
	public void setLi_sequenciaprocesso(Integer li_sequenciaprocesso) {
		this.li_sequenciaprocesso = li_sequenciaprocesso;
	}
	public Integer getLi_seqnumerario() {
		return li_seqnumerario;
	}
	public void setLi_seqnumerario(Integer li_seqnumerario) {
		this.li_seqnumerario = li_seqnumerario;
	}
	
    
}

Erro

Caused by: org.hibernate.AnnotationException: No identifier specified for entity: br.com.lpc.ganymede.modelo.ViewIntegraNumerario
Criado 30 de novembro de 2010
Respostas 0
Participantes 1