Duvida hibernate

3 respostas
jonasjgs2

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

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;
	}
}

3 Respostas

Hebert_Coelho

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.

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

Hebert_Coelho

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
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

Criado 31 de julho de 2012
Ultima resposta 31 de jul. de 2012
Respostas 3
Participantes 2