Это на самом деле очень легко сделать:
package mypackage;
import org.hibernate.id.IdentifierGenerator;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.HibernateException;
import java.io.Serializable;
import java.security.SecureRandom;
import java.util.UUID;
public class RandomIdentifierGenerator implements IdentifierGenerator {
private final static SecureRandom sr = new SecureRandom();
public Serializable generate(SessionImplementor sessionImplementor, Object o) throws HibernateException {
long val = sr.nextLong();
return Long.toString(Math.abs(val), Character.MAX_RADIX);
}
}
IdentitfierGenerator
- это интерфейс гибернации, который вы должны реализовать.Приведенный выше пример просто генерирует случайный идентификатор.
Чтобы использовать это, вы должны установить generator
в mypackage.RandomIdentifierGenerator
Очевидно, что в этой реализации нет никакой гарантии того, что этот идентификатор не будет генерироваться.дважды, это может или не может быть важным для приложения, которое вы пишете.