Тест Junit Spring/ Jersey не фиксирует запросы через @Transaction

У меня есть следующий тестовый код

@Transactional
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:applicationContext.xml"})
public class LocationGroupControllerTest extends JerseyTest {

    private static final String FAKE_GROUP_NAME = "fake data 11e5-9730-9a79f06e9478 - ";

    @Autowired
    private ILocationGroupService iLocationGroupService;


    @Autowired
    @Qualifier("sessionFactory")
    private SessionFactory sessionFactory;

    @Before
    @Rollback(false)
    @Transactional(readOnly = false)
    public void setup() {
        {
            int deleted = sessionFactory.getCurrentSession().createSQLQuery("DELETE FROM location_group WHERE GROUPNAME LIKE :fakeGroupName")
                    .setString("fakeGroupName", FAKE_GROUP_NAME + "%")
                    .executeUpdate();
        }
    }

Идея состоит в том, чтобы вручную очищать базу данных с помощью SQL-запроса при каждом запуске теста. У меня есть несколько методов @Test, которые запускаются и генерируют строки в таблице location_group.

К сожалению, когда я смотрю в моей базе данных, ничего не удаляется. Любая идея, почему, хотя "удалено" говорит, что ряд строк были удалены, на самом деле ничего не было?

0 ответов

Другие вопросы по тегам