如何使用hibernate设置mariadb驱动程序属性

tnkciper  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(417)

我正在使用aurora mysql数据库。我正在使用mariadb连接器j和hibernate。我使用的是“org.mariadb.jdbc.driver”。我想使用hibernate cfg文件设置这个驱动程序的以下属性。1.在连接上设置只读,这样它就可以从已读副本中获取数据。2.mariadb驱动程序的池机制(minpoolsize、maxpoolsize等)hibernte.cfg.xml

<hibernate-configuration>
<session-factory>
    <!-- SQL Dialect -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

    <!-- Database Connection Settings -->
    <property name="hibernate.connection.driver_class">org.mariadb.jdbc.Driver</property>
     <property name="hibernate.connection.url">jdbc:mysql:aurora://xxxxx:3306/dbname</property>
    <property name="hibernate.connection.username">xxxxx</property>
    <property name="hibernate.connection.password">xxxxx</property>
    <property name="hibernate.connection.assureReadOnly">true</property>
    <property name="hibernate.connection.autoReconnect">true</property>
    <property name="hibernate.connection.autocommit">false</property>
    <property name="hibernate.connection.maxPoolSize">5</property> 
    <property name="hibernate.connection.minPoolSize">2</property> 
    <property name="hibernate.connection.poolName">MyConnectionPool</property> 
    <property name="hibernate.connection.pool">true</property> 
    <property name="hibernate.connection.maxIdleTime">7000</property>
    <property name="show_sql">true</property>

    <!-- Specifying Session Context -->
    <property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
    <!-- Mapping With Model Class Containing Annotations -->
    <mapping class="com.xxx.aurora.beans.xxx" />
    <mapping class="com.xxx.aurora.beans.User" />
</session-factory>

我可以连接到auroramysql,但不能将连接设置为readonly。我的要求是,我想为使用单个集群端点的读取查询创建具有只读副本的连接。任何帮助都将不胜感激。我正在参考mariadb-connector-j
我还想知道,我可以使用mariadb连接池与hibernate,如果是那么如何?任何指针。提前谢谢

yebdmbv4

yebdmbv41#

更改这些行

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>
<property name="hibernate.connection.url">jdbc:mysql:aurora://xxxxx:3306/dbname</property>

<property name="dialect">org.hibernate.dialect.MariaDBDialect</property>
<property name="connection.url">jdbc:mariadb://xxxxxx:3306/dbname</property>

相关问题