Marking a non-public method @Transactional is both useless and misleading because Spring doesn't "see" non-public
methods, and so makes no provision for their proper invocation. Nor does Spring make provision for the methods invoked by the method it called.
Therefore marking a private method, for instance, @Transactional can only result in a runtime error or exception if the
method is actually written to be @Transactional.
@Transactional // Noncompliant
private void doTheThing(ArgClass arg) {
// ...
}