开发者社区> 问答> 正文

java web应用读取mysql数据,经常不是最新的,求大神解救

huzhuke221105 2016-09-06 15:54:43 1745

应用用的是springmvc+springdata jpa+hibernate jpa
jpa配置如下:

<?xml version="1.0" encoding="UTF-8"?>

xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="xinke">
    <class>com.zuoke.model.core.TCoinHistory</class>
    <class>com.zuoke.model.core.TComment</class>
    <class>com.zuoke.model.core.TIndividuation</class>
    <class>com.zuoke.model.core.TMember</class>
    <class>com.zuoke.model.core.TMessage</class>
    <class>com.zuoke.model.core.TNotice</class>
    <class>com.zuoke.model.core.TSignHistory</class>
    <class>com.zuoke.model.core.TUser</class>
    <class>com.zuoke.model.core.TUserinfo</class>
    <class>com.zuoke.model.core.TDataDictionary</class>
    <class>com.zuoke.model.core.THouseDesc</class>
    <class>com.zuoke.model.core.THelpInfoReply</class>
    <class>com.zuoke.model.core.THelpInfo</class>
    <class>com.zuoke.model.core.TReviceInv</class>
    <class>com.zuoke.model.core.TPhotoFile</class>
    <class>com.zuoke.model.core.TPhotoRelation</class>
    <class>com.zuoke.model.core.TGuestOrder</class>
    <class>com.zuoke.model.core.TOrder</class>
    <class>com.zuoke.model.core.TProduct</class>
    <class>com.zuoke.model.core.TInvitation</class>
    <class>com.zuoke.model.core.THouse</class>
    <class>com.zuoke.model.core.TVipHistory</class>
    <properties>
        <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
        <property name="hibernate.connection.url"
            value="jdbc:mysql://120.25.204.164:3306/xinke?characterEncoding=utf-8" />
        <!-- <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/xinke?characterEncoding=utf-8"/> -->
        <property name="hibernate.connection.username" value="" />
        <property name="hibernate.connection.password" value="" />
        <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect" />
        <property name="hibernate.show_sql" value="true" />
        <property name="hibernate.format_sql" value="true" />
        <property name="hibernate.use_sql_comments" value="false" />
        <property name="hibernate.hbm2ddl.auto" value="update" />
        <property name="hibernate.cache.provider_class" value="org.hibernate.cache.EhCacheProvider" />
        <!-- <property name="hibernate.cache.use_second_level_cache" value="true" /> 
        <property name="hibernate.cache.use_query_cache" value="true" />-->
        <property name="connection.provider_class"
            value="org.hibernate.connection.C3P0ConnectionProvider" />
        <property name="hibernate.c3p0.acquire_increment" value="4" />
        <property name="hibernate.c3p0.idle_test_period" value="3000" />
        <property name="hibernate.c3p0.max_size" value="100" />
        <property name="hibernate.c3p0.max_statements" value="15" />
        <property name="hibernate.c3p0.min_size" value="5" />
        <property name="hibernate.c3p0.maxIdleTime" value="60"/>
        <property name="hibernate.c3p0.timeout" value="25200" />
        <property name="hibernate.c3p0.preferredTestQuery" value="select 1;" />
    </properties>
</persistence-unit>

XML 关系型数据库 MySQL Java 数据库连接 数据格式
分享到
取消 提交回答
全部回答(6)
  • nothingfinal
    2019-07-17 20:08:09

    mysql是否采用主备模式,主备同步可能有延迟,看看连接的是不是备库。

    0 0
  • akunmath
    2019-07-17 20:08:08

    你认为的没有读到最新的数据,是不是只是部分更新还没有commit而已

    0 0
  • suonayi
    2019-07-17 20:08:08

    你好!
    hibernate在事务未提交之前更新的数据是保存了在本地cache里,别的线程经常可以读到脏数据。
    建议你不要使用hibrenate,使用更轻量级的spring jdbc或ibatis。

    0 0
  • 蔡宝
    2019-07-17 20:08:08

    能描述具体点吗 ?

    0 0
  • 长乐小书童
    2019-07-17 20:08:08

    @楼主
    你的问题描述略宽泛。。。
    至少应该在补充一下:

    1. Spring / Hibernate版本
    2. MySQL版本
    3. 问题的具体表现或者复线步骤
    4. 复现环境(本地 开发环境 云上环境 等)
    1 0
滑动查看更多
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题