entities are not getting deleted. When i check the database they are still there
You are commiting transaction by tx.commit(); but to check whether your transaction got commited or rolled back,Use tx.wasCommitted()& tx.wasRolleBack() which returns boolean status whether your transaction commited or rolledBack.
Further entity you want to delete is involved in cascad relationship with other object??if so it is getting resaved.If it is collection you will get documentation on net easily on this issue.