A query should not execute itself. A transaction should provide methods to run queries.