您正在开发一个struts + hibernate网站。我有一个hibernate连接问题。当我在我的localhost中使用它时,它正常工作。问题是我使用相同的配置文件与服务器数据库连接用户名和密码连接未打开。我已将错误消息写入服务器中的文件,并将错误消息显示为“无法打开连接”。
这是我的hibernate配置文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<?xmsl version="1.0" encoding="UTF-8"?>
<hibernate-configuration>
<session-factory name="session1">
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">org.gjt.mm.mysql.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost/dev_mydatabase?autoReconnect=false</property>
<property name="hibernate.connection.username">myusername(not original)</property>
<property name="hibernate.connection.password">mypassword(no original)</property>
<property name="show_sql">true</property>
<property name="hibernate.cglib.use_reflection_optimizer">false</property>
<property name="current_session_context_class">managed</property>
<property name="hibernate.c3p0.max_statements">50</property>
<!-- For seeing hibernate log on the console -->
<property name="show_sql">true</property>
<!-- End-->
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="log4j.logger.org.hibernate.SQL">trace</property>
<!-- <property name="hbm2ddl.auto">update</property>-->
<!-- All my mapping files are here.-->
</session-factory>
</hibernate-configuration>
在我的dao文件中,我将查询写为
SessionFactory sessionFactory =
(SessionFactory) ServletActionContext.getServletContext().getAttribute(HibernateListener.KEY_NAME);
Session Hibernatesession = sessionFactory.openSession();
Hibernatesession.beginTransaction();
doctorList = Hibernatesession.createCriteria("Hibernate query will be here").
我不明白这里发生了什么问题。任何人请帮助我。
感谢。
答案 0 :(得分:1)
问题是你的hibernate配置中的 localhost ,如下所示。将其更改为指向实际的db地址和端口。
<property name="hibernate.connection.url">jdbc:mysql://localhost/dev_mydatabase?autoReconnect=false</property>