Hola, gracias por contestar.
La verdad es que no entiendo muy bien este tema, como hago lo que comentas de hacerlo en otra transacción?
La unidad de persistencia la tengo de la siguiente manera:
Código:
<persistence-unit name="Proy-ejbPU" transaction-type="JTA">
<jta-data-source>jdbc/Proy-database</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.temporal.mutable" value="true"/>
</properties>
</persistence-unit>
Saludos
Edito: Parece que funciona borrando la caché cada vez que llamo al método "citaFacade.citasDeCliente(c)".
He añadido lo siguiente: em.getEntityManagerFactory().getCache().evictAll() ;
y parece que funciona.
De esta forma cada vez que llame a este método borrará la caché y cargará lo que esté en la BD correctamente parece ser.