> ## Documentation Index
> Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt
> Use this file to discover all available pages before exploring further.

# UserContentStorageConfig

<span id="atoti_jdbc.UserContentStorageConfig" />

> atoti\_jdbc.UserContentStorageConfig(<br />
>     *url*: Annotated\[[str](https://docs.python.org/3/library/stdtypes.html#str), AfterValidator(normalize\_jdbc\_url)],<br />
>     \*,<br />
>     *driver*: Annotated\[[str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None), AfterValidator(\_validate\_driver)] = `None`,<br />
>     *hibernate\_options*: FrozenMapping\[[str](https://docs.python.org/3/library/stdtypes.html#str), [str](https://docs.python.org/3/library/stdtypes.html#str)] = `frozendict({})`,<br />
>     *prefix*: [str](https://docs.python.org/3/library/stdtypes.html#str) | [None](https://docs.python.org/3/library/constants.html#None) = `None`,<br />
> )

The config for storing user content in a separate database.

```pycon theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
>>> from atoti_jdbc import UserContentStorageConfig
>>> config = UserContentStorageConfig(
...     "h2:/home/user/database/file/path;USER=username;PASSWORD=passwd"
... )
```

### Attributes

<h4 id="atoti_jdbc.UserContentStorageConfig.hibernate_options">
  *hibernate\_options*
</h4>

Extra options to pass to Hibernate.

See [AvailableSettings](https://javadoc.io/static/org.hibernate/hibernate-core/5.6.15.Final/org/hibernate/cfg/AvailableSettings.html).

<h4 id="atoti_jdbc.UserContentStorageConfig.driver">
  *driver*
</h4>

The Java class name of the [`driver`](./atoti_jdbc.driver#module-atoti_jdbc.driver) to use.

This defines Hibernate’s [DRIVER](https://javadoc.io/static/org.hibernate/hibernate-core/5.6.15.Final/org/hibernate/cfg/AvailableSettings.html#DRIVER) option.

Inferred from [`url`](#atoti_jdbc.UserContentStorageConfig.url) if `None`.

<h4 id="atoti_jdbc.UserContentStorageConfig.url">
  *url*
</h4>

The JDBC connection string of the database.

The `"jdbc"` scheme is optional but the database specific scheme (such as `"h2"`) is mandatory.
For instance:

* `"h2:/home/user/database/file/path;USER=username;PASSWORD=passwd"`
* `"postgresql://postgresql.db.server:5430/example?user=username&password=passwd"`

More examples can be found [here](https://www.baeldung.com/java-jdbc-url-format).

This defines Hibernate’s [URL](https://javadoc.io/static/org.hibernate/hibernate-core/5.6.15.Final/org/hibernate/cfg/AvailableSettings.html#URL) option.

<h4 id="atoti_jdbc.UserContentStorageConfig.prefix">
  *prefix*
</h4>

The prefix to add to all paths when reading and writing files and directories.

This allows sharing the same database in multiple Atoti applications without conflicts.
