@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, "10");
configuration.setProperty(HibernateHints.HINT_FLUSH_MODE, FlushMode.COMMIT.name());
}
@Test
public void hhhXXXXTest() throws Exception {
Integer currentBId;
try (Session s = openSession()) {
Transaction tx = s.beginTransaction();
EntityA entityA1 = new EntityA();
EntityB entityB1 = new EntityB();
entityB1.entityA = entityA1;
entityA1.currentEntityB = entityB1;
s.persist(entityA1);
s.persist(entityB1);
s.flush();
entityA1.foo = 123;
EntityB entityB2 = new EntityB();
entityB2.entityA = entityA1;
entityA1.currentEntityB = entityB2;
s.persist(entityB2);
currentBId = entityB2.id;
List<EntityA> entitiesA = s.createQuery("select a from EntityA a", EntityA.class).getResultList();
assertThat(entitiesA).hasSize(1);
tx.commit();
}
try (Session s = openSession()) {
List<EntityA> entitiesA = s.createQuery("select a from EntityA a", EntityA.class).getResultList();
assertThat(entitiesA).hasSize(1);
assertThat(entitiesA.get(0).foo).isEqualTo(123);
assertThat(entitiesA.get(0).currentEntityB.id).isEqualTo(currentBId);
}
}