Duvida hibernate

caros amigos

eu tenho uma tabela ja existente em um banco de dados
esta tabela “TEstados” nao tem e nem ira ter um campo id

ela tem estes campos:

sigla char (2)
descricao char(30)

como ela nao tem Id

como eu faria a classe abaixo ja que
do geito que estou fazendo ela esta me obrigando a colocar um @ID

se eu nao colocar o @Id me da um erro no eclipse "The entity has no primary key attribute defined"
como resolver esta problema
se esta tabela nao e minha e apenas vou usar estes dados?
observem que o id esta ate como comentario se eu colocar o id da o erro

[code]import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity

public class TEstados {
// @Id
@Column
private String sigla;
@Column
private String descricao;

public String getSigla() {
	return sigla;
}

public void setSigla(String sigla) {
	this.sigla = sigla;
}

public String getDescricao() {
	return descricao;
}

public void setDescricao(String descricao) {
	this.descricao = descricao;
}

}[/code]

Isso é conceito básico do JPA. Uma classe para ser uma entidade de JPA precisa de:

  • construtor public padrão
  • @Entity (ou xml)
  • @Id

Se não tiver um id, você terá que criar.

mas e se eu so quier ler os dados desta tabela
como eu faria
ja que nao vou poder criar um id para ela

[quote=jonasjgs2]mas e se eu so quier ler os dados desta tabela
como eu faria
ja que nao vou poder criar um id para ela
[/quote]Então você não vai mapear esse cara como Entity, mas sim como um objeto qualquer e fazer o new no construtor.

Aqui você encontra como: JPA Consultas e Dicas