public class CustomPersister implements EntityPersister { private static final IdentifierGenerator GENERATOR = new UUIDHexGenerator();
public Serializable generate(SessionImplementor session, Object object) throws HibernateException { final Serializable id = session.getEntityPersister(entityName, object).getIdentifier(object, session); if (id == null) { return super.generate(session, object); } return id; }
public static void main( String[] args ) throws Exception { Properties props = new Properties(); props.setProperty("separator", "/"); IdentifierGenerator gen = new UUIDHexGenerator(); ( (Configurable) gen ).configure(Hibernate.STRING, props, null); IdentifierGenerator gen2 = new UUIDHexGenerator(); ( (Configurable) gen2 ).configure(Hibernate.STRING, props, null); for ( int i=0; i<10; i++) { String id = (String) gen.generate(null, null); System.out.println(id); String id2 = (String) gen2.generate(null, null); System.out.println(id2); } }
@Override public Serializable generate(SessionImplementor session, Object object) throws HibernateException { if (object instanceof HibernateUser) { HibernateUser user = (HibernateUser) object; if (user.getId() != null) { return user.getId(); } else { return "urn:" + namespace + ":user:" + super.generate(session, object); } } else if (object instanceof HibernateGroup) { HibernateGroup group = (HibernateGroup) object; if (group.getId() != null) { return group.getId(); } else { return "urn:" + namespace + ":group:" + super.generate(session, object); } } else if (object instanceof HibernateCredential) { HibernateCredential credential = (HibernateCredential) object; if (credential.getId() != null) { return credential.getId(); } else { return "urn:" + namespace + ":credential:" + super.generate(session, object); } } else { return "urn:" + namespace + ":object:" + super.generate(session, object); } } }
public static void main( String[] args ) throws Exception { Properties props = new Properties(); props.setProperty("separator", "/"); IdentifierGenerator gen = new UUIDHexGenerator(); ( (Configurable) gen ).configure(Hibernate.STRING, props, null); IdentifierGenerator gen2 = new UUIDHexGenerator(); ( (Configurable) gen2 ).configure(Hibernate.STRING, props, null); for ( int i=0; i<10; i++) { String id = (String) gen.generate(null, null); System.out.println(id); String id2 = (String) gen2.generate(null, null); System.out.println(id2); } }
/** * {@inheritDoc} */ public Serializable generate(SessionImplementor session, Object obj) { return new StringBuffer( 36 ) .append( format( getIP() ) ).append( sep ) .append( format( getJVM() ) ).append( sep ) .append( format( getHiTime() ) ).append( sep ) .append( format( getLoTime() ) ).append( sep ) .append( format( getCount() ) ) .toString(); }
private static final IdentifierGenerator UUID_GENERATOR = new UUIDHexGenerator();
/** * {@inheritDoc} */ public Serializable generate(SessionImplementor session, Object obj) { return new StringBuffer( 36 ) .append( format( getIP() ) ).append( sep ) .append( format( getJVM() ) ).append( sep ) .append( format( getHiTime() ) ).append( sep ) .append( format( getLoTime() ) ).append( sep ) .append( format( getCount() ) ) .toString(); }
public Serializable generate(SessionImplementor session, Object obj) { return new StringBuffer(36) .append( format( getIP() ) ).append(sep) .append( format( getJVM() ) ).append(sep) .append( format( getHiTime() ) ).append(sep) .append( format( getLoTime() ) ).append(sep) .append( format( getCount() ) ) .toString(); }
public Serializable generate(SessionImplementor session, Object obj) { return new StringBuffer(36) .append( format( getIP() ) ).append(sep) .append( format( getJVM() ) ).append(sep) .append( format( getHiTime() ) ).append(sep) .append( format( getLoTime() ) ).append(sep) .append( format( getCount() ) ) .toString(); }