A database-side JDBC routine can create a new connection instead of using a nested connection. Statements executed in the routine will be part of a different transaction, and so can issue commits and rollbacks.
Such a routine can connect to a database different from the one to which the parent SQL statement that called it is connected. The routine does not use the same transaction or Connection. It establishes a new Connection and transaction.