похоже, проблема в том, что Hibernate вызывает исключение (поэтому текущая транзакция становится недействительной), но затем вы пытаетесь продолжить выполнение большего количества операций в этом сеансе.
Правильный способ сделать это -разделите тест, который вы используете, на 2, одну часть для тестирования нулевых авторов и одну для тестирования с допустимым автором.
В рабочем коде (скажем, в контроллере) вам потребуется перезапустить операцию (закрытьтранзакции, перезапустите процесс), чтобы иметь возможность продолжить.Но, учитывая то, как play управляет транзакциями, нормальным поведением будет то, что после ошибки вы просто вернетесь с сообщением об ошибке пользователю.