Představte si Hibernate jako velkou mezipaměť, která může použít DB jako "úložiště", kam ukládá věci, které se již nevejdou do mezipaměti. Hibernate nevyprázdní všechno do DB, když to změníte, počká. Je pravděpodobné, že můžete změnit více než jedno pole v objektu.
Takže musíte relaci vyprázdnit (em.flush()
), nebo musíte spustit dotaz nebo musíte potvrdit aktuální transakci (není to snadná možnost při použití Spring).