情况是这样的  hibernat用当前的配置 连接windows下的mysql没有问题,但是链接linux下的mysql总是报错 说找不到表
错误如下:
2009-05-09 14:31:09,859 WARN [org.hibernate.util.JDBCExceptionReporter] - SQL Error: 1146, SQLState: 42S02
2009-05-09 14:31:09,859 ERROR [org.hibernate.util.JDBCExceptionReporter] - Table 'chinafarmer_chinajsp.NewsType' doesn't exist
2009-5-9 14:31:09 org.apache.catalina.core.StandardWrapperValve invokelinux下的mysql用JDBC能链接上 并取到数据  先谢过回答我的热心朋友!一下是hibernat的配置文件
<session-factory>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!--<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>-->
<property name="hibernate.connection.url">jdbc:mysql://192.168.1.166:3306/chinafarmer_chinajsp?useUnicode=true&amp;characterEncoding=GBK
</property>
<property name="hibernate.connection.username">testall</property>
<property name="hibernate.connection.password">111111</property>
<!--<property name="connection.driver_class">com.mysql.jdbc.Driver</property> -->
<property name="myeclipse.connection.profile">nmw</property> <property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="maxIdle">200</property>
<property name="maxWait">200</property>
<property name="maxActive">10</property>

解决方案 »

  1.   

    问题解决了原来是linux下的mysql默认的是对表名区分大小写的 改成不区分大小写即可方法如下
    可以强制以 -O lower_case_table_names=1 参数启动 mysqld(如果使用 --defaults-file=...\my.cnf 
    参数来读取指定的配置文件启动 mysqld 的话,
    你需要在配置文件的 [mysqld] 区段下增加一行 lower_case_table_names=1)。
    这样MySQL 将在创建与查找时将所有的表名自动转换为小写字符