Problemas com @GeneratedValue

2 respostas
aquino.vale

Pessoal estou com o seguinte problema tenho a tabela

@Entity
@Table(name="times2")
public final class Times{
	@EmbeddedId
	private TimesPk id;

//metodos get e set
}

tenho a tabela

public class TimesPk implements Serializable{
// Chaves primaria da tabela Times
	private int codcategoria;

	@SequenceGenerator(name="seq_time", sequenceName="time_codtime_seq", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="seq_time")
	@Column(name="codtime")
	private int id;

//metodo get e set
}

Estou usando este codigo para salvar

public void testeCriaTime() throws Exception {
		Times t = new Times();
		t.getId().setCodcategoria(1);
		t.setNome("Novo Time Gv");
		t.setAno(2012);
		new TimesDAO().salva(t);
 // metodo get e set
}

Ele grava a primeira vez no banco com o campo codtime como 0, mas o campo nao pode ser zero pois é serial (postgresql), fiz a mesma coisa para a tabela Categoria e funcionou mas com esta tabela nao funciona, acredito que o problemas estava no gerador de sequencia, algume poderia me ajudar…ja procurei no forum e nao encontrei algo parecido…

2 Respostas

E

cara, tenta fazer isso:

private static final long serialVersionUID = 1L; 
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name="nomeDoCampo",nullable = false)
         private  Integer nomeDoCampo;
aquino.vale

ja tentei assim e o problema continua… ele salva no banco mas naum chama o proximo valor do auto incremento. sempre fica com o valor 0, acho q o problema esta no @EmbededId pois se eu remover a classe TimesPk e deixar os nomes do campos sem o @Embedded tudo funcionar normal…

Criado 26 de abril de 2011
Ultima resposta 27 de abr. de 2011
Respostas 2
Participantes 2