anchor.diff:  
   ==== Definition modules
   
  -Every `Jdbi` instance is defined in its own Guice module which extends the link:{jdbidocs}/guice/AbstractJdbiDefinitionModule.html[AbstractJdbiDefinitionModule^] base class.
  +Every link:{jdbidocs}/core/Jdbi.html[Jdbi^] instance is defined in its own Guice module which extends the link:{jdbidocs}/guice/AbstractJdbiDefinitionModule.html[AbstractJdbiDefinitionModule^] base class.
   
   The  annotation instance or class used on the constructor is used to bind the resulting Jdbi object:
   
  
positive.code: 
  == Cookbook
  
  This section includes examples of various things you might like to do with `Jdbi`.
  
  === Simple Dependency Injection
  
  `Jdbi` tries to be independent of using a dependency injection framework,
  but it's straightforward to integrate yours.  Just do field injection on a simple custom config type:
  
  [source,java]
  
negative.code: include::{exampledir}/TransactionTest.java[tags=sqlObjectTransactionIsolation]
  ----
  
  Similar to the `inTransaction` and `useTransaction` operations in the core API, transactions are not nested. If a method, that has been annotated with link:https://jdbi.org/apidocs/org/jdbi/v3/sqlobject/transaction/Transaction.html[@Transaction^], calls another method that is annotated as well (e.g. through an interface default method), then the same transaction will be reused, and it will be committed when the outer transaction ends.
  
  Nested method calls must either use the same transaction isolation level or inner methods must not specify any transaction level. In that case, the transaction level of the outer transaction maintained.
  
  