【发布时间】:2016-01-01 03:39:01
【问题描述】:
我无法让 web 应用正常工作。 我正在使用 Red Hat JBoss Developer Studio 8.1.0.GA,我在部署时遇到了错误。
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/hibernatedb
这是我的 persistence.xml
<persistence-unit name="HibernateProject"
transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.test.model.UserDetails</class>
<properties>
<property name="hibernate.connection.driver.class" value="org.postgresql.Driver"></property>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect" />
<property name="hibernate.show_sql" value="true" />
<property name="hibernate.hbm2ddl.auto" value="validate" />
<property name="hibernate.connection.url"
value="jdbc:postgresql://localhost:5432/hibernatedb"></property>
<property name="hibernate.connection.username" value="postgres"></property>
<property name="hibernate.connection.password" value="1234"></property>
</properties>
</persistence-unit>
这是我的 servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
UserDetails user = new UserDetails();
user.setUserName(request.getParameter("username"));
//use persistence-unit name from persistence.xml
EntityManagerFactory entityFactory = Persistence.createEntityManagerFactory("HibernateProject");
EntityManager entityManager = entityFactory.createEntityManager();
EntityTransaction entityTransaction = null;
try{
entityTransaction = entityManager.getTransaction();
entityTransaction.begin();
entityManager.persist(user);
entityTransaction.commit();
}catch(RuntimeException re){
if(entityTransaction.isActive()){
entityTransaction.rollback();
throw re;
}
}
}
非常感谢!
【问题讨论】: