@Override
protected void configure(Configuration configuration) {
super.configure(configuration);
configuration.setProperty(AvailableSettings.SHOW_SQL, Boolean.TRUE.toString());
configuration.setProperty(AvailableSettings.FORMAT_SQL, Boolean.TRUE.toString());
configuration.setProperty(AvailableSettings.DEFAULT_BATCH_FETCH_SIZE, "2");
}
@Test
public void hhhXXXTest() throws Exception {
Integer idA = 1;
Integer idB = 2;
try (Session s = openSession()) {
Transaction tx = s.beginTransaction();
MyEmbeddableComponent embeddable = new MyEmbeddableComponent();
embeddable.embRef = "some-ref";
EntityA entityA = new EntityA();
EntityB entityB = new EntityB();
EntityC entityC = new EntityC();
embeddable.entityC = entityC;
entityA.id = idA;
entityA.myEmbeddable = embeddable;
entityA.entityB = entityB;
entityB.id = idB;
entityB.listOfEntityA.add(entityA);
s.persist(entityC);
s.persist(entityB);
s.persist(entityA);
tx.commit();
}
try (Session s = openSession()) {
Transaction tx = s.beginTransaction();
EntityA entityA = s.find(EntityA.class, idA);
entityA.myEmbeddable = null;
EntityB entityB = s.find(EntityB.class, idB);
assertThat(entityB.listOfEntityA).hasSize(1);
tx.commit();
}
try (Session s = openSession()) {
EntityA entityA = s.find(EntityA.class, idA);
assertThat(entityA.myEmbeddable).isNull();
}
}