Hola, gracias por responder, pude resolver el problema, solo habia que hacer eso:
Código Java:
Ver originalpublic void repartir(Asesor asesor, int cant) {
try {
session.getTransaction().begin();
Criteria criteria = session.createCriteria(Base.class);
criteria.add(Restrictions.eq("asesor.id", 91));
criteria.add(Restrictions.sqlRestriction("1=1 order by NEWID()"));
criteria.setMaxResults(cant);
List<Base> bases = null;
bases = criteria.list();
for (Base base : bases) {
base.setAsesor(asesor);
System.
out.
println(base.
getNumerodocumento() + ", " + base.
getAsesor().
getId()); }
session.getTransaction().commit();
session.getTransaction().rollback();
}
}
Desde mi aplicacion envio el objeto asesor y la cantidad que se le repartira.
No entendí muy bien lo de merge, he visto que no usan Session, sino SessionFactory, es a eso a lo que te refieres, sino para investigar mas a fondo.