When using HQL to DELETE a parent entity, the delete is not cascaded to child entity.
Here is a snippet of code that has the issues, detailed test case is below.
transaction.begin();
// Use HQL to delete the parent. With CASCADE.ALL, the child should be deleted.
Query query = em.createQuery("DELETE FROM ParentEntity WHERE id = :parentId");
query.setParameter("parentId", parentId);
query.executeUpdate();
transaction.commit();
-- Database tables.
create table TEST.TEST_PARENT_TABLE
(
ID INTEGER not null primary key,
NAME VARCHAR(256)
);
create table TEST.TEST_CHILD_TABLE
(
ID INTEGER not null primary key,
NAME VARCHAR(256)
);