    @Transaction(TransactionIsolationLevel.SERIALIZABLE)
    default long nextValue(String tableName, String columnName) {
        long nextValue = selectNextValue(tableName, columnName);
        updateNextValue(tableName, columnName);
        return nextValue;
    }

    default int getAccountId() {
        return (int)nextValue("account", "account_id");
    }
    default long getPostingId() {
        return nextValue("posting", "posting_id");
    }
    default long getStatementId() {
        return nextValue("statement", "statement_id");
