JDBC Drivers

While in most cases this is unnecessary and handled by CAS automatically, you may need to also include the following module to account for various database drivers:

1
2
3
4
5
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jdbc-drivers</artifactId>
    <version>${cas.version}</version>
</dependency>
1
implementation "org.apereo.cas:cas-server-support-jdbc-drivers:${project.'cas.version'}"
1
2
3
4
5
6
7
8
9
dependencyManagement {
    imports {
        mavenBom "org.apereo.cas:cas-server-support-bom:${project.'cas.version'}"
    }
}

dependencies {
    implementation "org.apereo.cas:cas-server-support-jdbc-drivers"
}
1
2
3
4
5
6
7
8
9
10
dependencies {
    /*
    The following platform references should be included automatically and are listed here for reference only.
            
    implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")
    implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
    */

    implementation "org.apereo.cas:cas-server-support-jdbc-drivers"
}

JPA Implementations

The following JPA implementations are provided by CAS. In most cases, the indicated modules do not need to be included in a CAS build and the implementation would be automatically chosen by the feature module. The details below are listed for reference and may be of use in advanced scenarios where development may be required.

Hibernate

Hibernate ORM is an object–relational mapping tool for the Java programming language. It provides a framework for mapping an object-oriented domain model to a relational database.

1
2
3
4
5
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-jpa-hibernate</artifactId>
    <version>${cas.version}</version>
</dependency>
1
implementation "org.apereo.cas:cas-server-support-jpa-hibernate:${project.'cas.version'}"
1
2
3
4
5
6
7
8
9
dependencyManagement {
    imports {
        mavenBom "org.apereo.cas:cas-server-support-bom:${project.'cas.version'}"
    }
}

dependencies {
    implementation "org.apereo.cas:cas-server-support-jpa-hibernate"
}
1
2
3
4
5
6
7
8
9
10
dependencies {
    /*
    The following platform references should be included automatically and are listed here for reference only.
            
    implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")
    implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
    */

    implementation "org.apereo.cas:cas-server-support-jpa-hibernate"
}

EclipseLink is the open source Eclipse Persistence Services Project from the Eclipse Foundation. The software provides an extensible framework that allows Java developers to interact with various data services, including databases, web services, Object XML mapping, and enterprise information systems.

Database Support

Automatic support for drivers includes the following databases. All other drivers need to be manually added to the build configuration.

Control global properties that are relevant to Hibernate, when CAS attempts to employ and utilize database resources, connections and queries.

  • cas.jdbc.case-insensitive=false
  • When choosing physical table names, determine whether names should be considered case-insensitive.

    How can I configure this property?

  • cas.jdbc.gen-ddl=true
  • Whether to generate DDL after the EntityManagerFactory has been initialized creating/updating all relevant tables.

    How can I configure this property?

  • cas.jdbc.physical-table-names=
  • Indicate a physical table name to be used by the hibernate naming strategy in case table names need to be customized for the specific type of database. The key here indicates the CAS-provided table name and the value is the translate physical name for the database. If a match is not found for the CAS-provided table name, then that name will be used by default.

    How can I configure this property?

  • cas.jdbc.show-sql=false
  • Whether SQL queries should be displayed in the console/logs.

    How can I configure this property?

    H2

    Available drivers are:

    1. org.h2.Driver
    Dialects
    org.hibernate.dialect.H2Dialect

    HSQLDB

    Available drivers are:

    1. org.hsqldb.jdbcDriver
    Dialects
    org.hibernate.dialect.HSQLDialect

    Oracle

    Available drivers are:

    1. oracle.jdbc.driver.OracleDriver
    Dialects
    org.hibernate.dialect.Oracle8iDialect
    org.hibernate.dialect.Oracle9iDialect
    org.hibernate.dialect.Oracle10gDialect
    org.hibernate.dialect.Oracle12cDialect

    MYSQL

    Available drivers are:

    1. com.mysql.jdbc.Driver
    2. com.mysql.cj.jdbc.Driver
    Dialects
    org.hibernate.dialect.MySQLDialect
    org.hibernate.dialect.MySQL5Dialect
    org.hibernate.dialect.MySQLInnoDBDialect
    org.hibernate.dialect.MySQLMyISAMDialect
    org.hibernate.dialect.MySQL5InnoDBDialect
    org.hibernate.dialect.MySQL57InnoDBDialect
    org.hibernate.dialect.MySQL8Dialect

    PostgreSQL

    Available drivers are:

    1. org.postgresql.Driver
    Dialects
    org.hibernate.dialect.PostgreSQL81Dialect
    org.hibernate.dialect.PostgreSQL82Dialect
    org.hibernate.dialect.PostgreSQL9Dialect
    org.hibernate.dialect.PostgreSQL91Dialect
    org.hibernate.dialect.PostgreSQL92Dialect
    org.hibernate.dialect.PostgreSQL93Dialect
    org.hibernate.dialect.PostgreSQL94Dialect
    org.hibernate.dialect.PostgreSQL95Dialect
    org.hibernate.dialect.PostgreSQL10Dialect
    org.hibernate.dialect.PostgresPlusDialect

    MariaDB

    Available drivers are:

    1. org.mariadb.jdbc.Driver
    Dialects
    org.hibernate.dialect.MariaDBDialect
    org.hibernate.dialect.MariaDB53Dialect
    org.hibernate.dialect.MariaDB10Dialect
    org.hibernate.dialect.MariaDB102Dialect
    org.hibernate.dialect.MariaDB103Dialect
    org.hibernate.dialect.MariaDB106Dialect

    Microsoft SQL Server

    Available drivers are:

    1. net.sourceforge.jtds.jdbc.Driver
    2. com.microsoft.sqlserver.jdbc.SQLServerDriver
    Dialects
    org.hibernate.dialect.SQLServerDialect
    org.hibernate.dialect.SQLServer2005Dialect
    org.hibernate.dialect.SQLServer2008Dialect
    org.hibernate.dialect.SQLServer2012Dialect
    org.hibernate.dialect.SQLServer2016Dialect