Hi Jean-Baptiste Hainaut ,
I tried to to create a reproducer for the issue but without any success.
@Jpa( annotatedClasses = { EntityDeleteTest.SchoolSetting.class } ) public class EntityDeleteTest { static String SCHOOL_ID = "MY_SCHOOL"; static String SCHOOL_KEY = "ABSENCE_FOR_DAY_OFF"; @Test public void testIt(EntityManagerFactoryScope scope) { scope.inTransaction( entityManager -> { SchoolSetting schoolSetting = new SchoolSetting( SCHOOL_ID, SCHOOL_KEY, true ); entityManager.persist( schoolSetting ); } ); scope.inTransaction( entityManager -> { SchoolSettingId primaryKey = new SchoolSettingId( SCHOOL_ID, SCHOOL_KEY ); SchoolSetting schoolSetting = entityManager.find( SchoolSetting.class, primaryKey ); entityManager.remove( schoolSetting ); schoolSetting = entityManager.find( SchoolSetting.class, primaryKey ); assertNull( schoolSetting ); } ); } @Test public void testIt2(EntityManagerFactoryScope scope) { scope.inTransaction( entityManager -> { SchoolSetting schoolSetting = new SchoolSetting( SCHOOL_ID, SCHOOL_KEY, true ); entityManager.persist( schoolSetting ); } ); scope.inTransaction( entityManager -> { Query query = entityManager.createQuery( "delete from SchoolSetting s WHERE s.id.key = :id" ); query.setParameter( "id", SCHOOL_KEY ); query.executeUpdate(); SchoolSetting schoolSetting = entityManager.find( SchoolSetting.class, new SchoolSettingId( SCHOOL_ID, SCHOOL_KEY ) ); assertNull( schoolSetting ); } ); } @Entity(name = "SchoolSetting") public static class SchoolSetting { @EmbeddedId private SchoolSettingId id; private boolean activated; public SchoolSetting() { } public SchoolSetting( final String schoolId, final String key, final boolean activated) { this.id = new SchoolSettingId( schoolId, key ); this.activated = activated; } public String getKey() { return this.id.getKey(); } } @Embeddable public static class SchoolSettingId implements Serializable { private String schoolId; @Column(name = "school_key") private String key; public SchoolSettingId() { } public SchoolSettingId( final String schoolId, final String key) { this.schoolId = schoolId; this.key = key; } public String getSchoolId() { return schoolId; } public String getKey() { return key; } } }
Can you please provide a complete reproducer?
Thanks