I'm currently developing a prototype for a Spring based plugin system. The idea is that plugins can use JPA entities and a liquibase changelog to maintain the database structure. In order to separate the tables created by plugins from the tables of the core system the plugins should be forced to use a prefix for table name. 

For JPA/Hibernate that can be easily archived by using a naming strategy. But I've found no way to archive that for the liquibase changeset.

For example the plugin defines a changelog like follows

```
<changeSet id="2015-03-17-00-01" author="foo">
    <createTable tableName="fooentity">
        <column name="id" type="INT">
            <constraints primaryKey="true" nullable="false" />
        </column>
        <column name="name" type="VARCHAR(100)">
            <constraints nullable="false" />
        </column>
    </createTable>
</changeSet>

```

The table should be created with name "plugin\_fooentity". The plugin itself should not know anything about the prefix since the prefix is given by the plugin/core system.

Would be great if someone can give me a hint for a possible solution.