Entendi, achei que ele ficava com o da trigger, ai realmente fud@@ de vez … rsrs
Uma vez que tentar recuperar novamente o objeto você não poderá contar com o valor atual da sequence, já que alguém pode estar a modificando, a não ser que você crie um mecanismo para poder recupera-la sem erros, bem isso é gambi rs.
Já que existe uma trigger que inclui o ID automaticamente na tabela, por que você não configura este ID como uma coluna de auto incremento, já testou isto?
[quote=lap_junior]Já que existe uma trigger que inclui o ID automaticamente na tabela, por que você não configura este ID como uma coluna de auto incremento, já testou isto?
[quote=lap_junior][quote=lap_junior]Já que existe uma trigger que inclui o ID automaticamente na tabela, por que você não configura este ID como uma coluna de auto incremento, já testou isto?
É pessoal, fui ver com uns colegas aqui e eles tiveram que usar um GenericGenerator (que herda de AbstractPostInsertGenerator e implementa Configurable) para resolver o problema. Ou seja, dentro do Generator faz-se um ‘select curval’ da vida… Vale lembrar que o GenericGenerator é Hibernate e não JPA.
@Entity
@Table(name = "PAI")
public class Pai implements Serializable {
@Id
@Column(name="ID_PAI", nullable = false)
@GeneratedValue(generator="PaiSeq")
@GenericGenerator(name = "PaiSeq", strategy = "br.com.guj.GeneratorTabajara", parameters = { @Parameter(name = "sequence", value = "PAI_SQ") })
private int id;
@OneToMany(mappedBy="pai", fetch = FetchType.LAZY)
private List<Filho> filhos;
//gets, sets etc.
}
Bom, está aí. Boa pedida para o JPA na próxima versão pois, ninguém merece ficar criando ‘workarrounds’…
acredito que a dica do rapaz ali que disse pra usar IDENTY funcionaria, pois a trigger esta simulando um campo AUTO_INCREMENT. Tive um problema semelhante aqui, facilitei a vida de todos, e utilizei a estrategia SEQUENCE e deletei as triggers.
Na verdade, acho esse lance de usar trigger pra gerar ID, uma verdadeira gambiarra