InheritanceType.JOINED Overrride Id - retorna null

3 respostas
cleberdiana

Olá pessoal, tenho as classes abaixo e estou tendo problema com meu Id sempre nulo.

@Entity(name="tbl_teste")
@Inheritance(strategy=InheritanceType.JOINED)
public class Teste
{
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private Long id;
	
	public void setId(Long id) {
		this.id = id;
	}

	public Long getId() {
		return id;
	}
}
@Entity(name="tbl_teste_tcls")
public class TesteTcls extends Teste implements Serializable
{
	private static final long serialVersionUID = 1L;
	
	@Column(length=50)
	private String imagem;
	
	@Column(length=50)
	private String frase;
		
	public String getImagem() {
		return imagem;
	}
	public void setImagem(String imagem) {
		this.imagem = imagem;
	}
	public String getFrase() {
		return frase;
	}
	public void setFrase(String frase) {
		this.frase = frase;
	}
}

Quando tento preencher a variável tclsLista abaixo, o meu Id aparece sempre como null, não consigo sobrescrever.

Alguém pode me ajudar e me dar um exemplo?

Eu tentei utilizar @AttributeOverride, mas não deu certo.

3 Respostas

Hebert_Coelho

Oq é isso aqui? inputFromServlet.readObject();

Isso vem do banco?

cleberdiana

Na realidade isso vem do meu servlet. Estou pegando uma lista do objeto serializado preenchido para preencher minha variável lista no applet.

cleberdiana

Olá pessoal, acabei conseguindo após muita leitura. Pena que até hoje não dei sorte neste fórum, não consegui nenhuma dica. Acredito que a dúvida estava clara.
Bom vou deixar aqui para o caso de alguém ter o mesmo problema, conseguir resolver.

Minha classe ficou assim e está funcionando perfeitamente e não vem com o id nulo mais. Minha classe Teste permanece como estava.

@Entity(name="tbl_teste_tcls")
@PrimaryKeyJoinColumn(name="id")  
@ForeignKey(name="id_tcls_fk")  
public class TesteTcls extends Teste implements Serializable
{
	private static final long serialVersionUID = 1L;
	
	@Column(length=50)
	private String imagem;
	
	public String getImagem() {
		return imagem;
	}
	public void setImagem(String imagem) {
		this.imagem = imagem;
	}
	public String getFrase() {
		return frase;
	}
	public void setFrase(String frase) {
		this.frase = frase;
	}
}
Criado 9 de janeiro de 2012
Ultima resposta 13 de jan. de 2012
Respostas 3
Participantes 2