Como o relacionamento entre Publication e Member é manyToMany, foi necessário remover de member a publicação que está sendo excluída antes de chamar o delete(). O fato de estar sendo lançado esse erro, apenas após as minhas modificações no código, me levou a crer que não estava sendo salvo da maneira correta antes, pois não dava o erro de Data Integrity ao excluir um Publication. Inclusive apenas um teste não passava, mesmo que em todas as subclasses de Publications estariam com erro.

Em Auxiliar tem um delete que é chamado por BookChapter por exemplo, que acredito que a ideia foi tentar generalizar. Infelizmente nem todas as subclasses de Publications fazem uso desse delete, mesmo que fazendo coisas bem parecidas. Dessa forma, precisei alterar em Auxiliar e onde havia um delete de alguma subclasse de Publication. Da forma que está em AuxiliarController apenas utilizando o removeFromPublications() em members fica ok, porém há uma caso, que não consegui identificar o por quê, que é lançada uma exceção se não utilizar o discard(). Inicialmente quando modifiquei para removeFromPublications() pareceu funcionar para tudo, inclusive todos os testes passaram, mas @carloscemb identificou esse problema e corrigiu.