Adjacency List Model is the model of persisting trees in which each children holds a reference to its parent.
An alternative model is the Nested Set Model (a.k.a. Modified Preorder Model) - this approach adds some additional
indexing information to each persisted node. This indexing info is further used for optimizing operations like
subtree loading, deleting etc. The indexes are update for each insertion.

Adjacency List Model proved more performance-effective for the following reason: the entire path is persisted rather
than only a reference to parent. Looking up nodes heavily relies on that, and the performance is similar as in the
case of Modified Preorder Model. Even more there is no costly update indexes operation.

prepareAndLogStatement(Connection conn,
String sql,
String... params)
Creates a prepared statement using the given connection and SQL string, logs the statement that is about to be
executed to the logger, and optionally sets String parameters provided on the prepared statement before
returning the prepared statement.

AdjListJDBCCacheLoader

prepareAndLogStatement

Creates a prepared statement using the given connection and SQL string, logs the statement that is about to be
executed to the logger, and optionally sets String parameters provided on the prepared statement before
returning the prepared statement.