package com.byteslounge.cdi.test.model;
import java.io.Serializable;
import org.hibernate.HibernateException;
import org.hibernate.engine.spi.SessionImplementor;
import org.hibernate.id.SequenceGenerator;
public class IdGenerator extends SequenceGenerator {
@Override
public Serializable generate(SessionImplementor session, Object obj) throws HibernateException {
if (obj == null) {
throw new HibernateException(new IllegalArgumentException("obj may not be null"));
}
Object id = ((TestEntity) obj).getId();
if (id == null) {
return super.generate(session, obj);
}
return (Serializable) id;
}
}