Hibernate - incrementar um valor

1 resposta
javahibernate
D

Criei um atributo matricula e quero que ele seja gerado automaticamente e incrementado a partir de um valor.

Exemplo: iniciar em 4500 e incrementar de 1 em 1.

Como faço isso no Hibernate?

1 Resposta

Lucas_Camara

Você pode criar seu próprio gerador de IDs:

Sua Entidade:

@Entity
public class SuaEntidade {
	@Id
	@GenericGenerator(name = "nomeGerador", strategy = "sua.classe.geradora.GeradorIdCustomizado")
	@GeneratedValue(generator = "nomeGerador")  
	@Column(name="column_id")
	private String id; // o tipo do objeto vai depender do que sua classe geradora de ID retornar
}

Classe geradora do ID:

package sua.classe.geradora;

import java.io.Serializable;
import org.hibernate.HibernateException;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.id.IdentifierGenerator;

public class GeradorIdCustomizado implements IdentifierGenerator {
	
	@Override
	public Serializable generate(SessionImplementor session, Object object) 
                    throws HibernateException {
		String generatedId = "";		
		// Lógica para gerar o ID		
		return generatedId;
	}
}
Criado 18 de julho de 2016
Ultima resposta 18 de jul. de 2016
Respostas 1
Participantes 2