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++``.