Tengo un problemilla al ejecutar una transacción. Mi problema es que tengo un metodo java en el que realizao unos DELETE y luego un INSERT, pero al ejecutarlo, hibernate me esta ejecutando primero el INSERT y luego los DELETES, necesito que me haga primero los DELETES ya que el insert puede contener un valor de las filas que voy a eliminar, y como la columna es unica pues me salta una exception y no me lo hace...
el método que realiza los DELETES y el INSERT es:
Código:
  
Las transacciones las tengo configuradas de la siguiente forma:	public boolean mergeValues(List<Geography> geographies, Geography geography) throws MeServiceException {
		try {
			int eliminadas = 0;
			if (geographies != null && geographies.size() > 0) {
				for (Geography g : geographies) {
					boolean eliminada = geographyDAO.delete(g);
					if (eliminada) {
						eliminadas++;
					}
				}
			} else {
				eliminadas = 0;
			}
			int guardado = geographyDAO.save(geography);
			if (eliminadas >= 2 && guardado == 1) {
				return true;
			} else {
				return false;
			}
		} catch (ConstraintViolationException ex) {
			throw new MeServiceConstraintViolationException(ex);
		} catch (Exception ex) {
			throw new MeServiceException(ex);
		}
	}
Código XML:
Ver original
 <aop:config> <aop:pointcut id="geographyListMethods" expression="execution(* es.unav.fondospersonales.service.administracion.GeographyListService.*(..))" /> <aop:advisor advice-ref="geographyTxAdvice" pointcut-ref="geographyListMethods" /> </aop:config> <tx:advice id="geographyTxAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="get*" read-only="true" /> <tx:method name="merge*" propagation="REQUIRED" rollback-for="MeServiceException" /> <tx:method name="remove*" propagation="REQUIRED" rollback-for="MeServiceException" /> <tx:method name="update*" propagation="REQUIRED" rollback-for="MeServiceException" /> <tx:method name="add*" propagation="REQUIRED" rollback-for="MeServiceException" /> </tx:attributes> </tx:advice>
Alguien sabe porque me hace primero los INSERTS??
Muchas gracias!!
 

