Brightspot CMS Developer Guide

Forwarding database


ForwardingDatabase is a mechanism to perform additional logic before executing a query against a database. One example is to create a forwarding database that prevents returning cached query results, as in the following snippet.

ForwardingDatabase noCacheDatabase = new ForwardingDatabase() {

    @Override
    protected <T> Query<T> filterQuery(Query<T> query) {
        return query.clone().noCache();
    }

};

You can then use the no-cache forwarding database by specifying it in Query#using:

Query.from(User.class).using(noCacheDatabase).selectAll();

Because this query specified noCacheDatabase, Dari invokes the filterQuery method before executing the query.

Both Dari and Brightspot use ForwardingDatabase for a variety of scenarios. Here are a few examples:

Previous Topic
Aggregate database
Next Topic
Transactions
Was this topic helpful?
Thanks for your feedback.
The elements that get you up and running in a matter of days, from pre-built content types, to modules, to landing pages.

Content types
Modules
Landing pages
Everything you need to manage and administer content within Brightspot CMS, including plug-and-play integrations.

Dashboards
Authoring content
Workflows
Admin configurations
A guide for installing, supporting and administering code on the Brightspot platform, including integrations requiring developer support to use.

Field types
Content modeling
Rich-text elements
Images