Frühlingsdaten JPA: Persistenter Kontext unerwartetes Verhalten
Posted: 12 Apr 2025, 17:36
Der CategoryRepository ist so definiert:
In DB gibt es immer eine Kategorie Cat1 . Meine Erwartung ist nach der 1. Anweisung < /p>
Objekt sollte im Persistenzkontext sein, und daher sollte der zweite Aufruf die DB nicht erneut abfragen. Dies geschieht nicht. Der zweite Anruf trifft erneut auf die DB. Hier sind die Protokolle.
Code: Select all
public interface CategoryRepository extends JpaRepository{
@Transactional
@Query("select c from Category c where name = :name")
Optional findByName(String name);
}
< /code>
Hier ist der Testfall: < /p>
@SpringBootTest
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public class CategoryRepositoryTests {
@Autowired
private CategoryRepository categoryRepository;
@Test
@Transactional
public void testCaching(){
categoryRepository.findByName("cat1");
categoryRepository.findByName("cat1");
}
}
Code: Select all
categoryRepository.findByName("cat1");
< /code>
Category