
我在做hibernate和spring出现了Exception in thread "main" java.lang.UnsupportedOperationException
求解答:错误异常为:savesessionfactoryclass:classorg.hibernate.internal.SessionFactoryImplExcep...
求解答:错误异常为:
save
session factory class:class org.hibernate.internal.SessionFactoryImpl
Exception in thread "main" java.lang.UnsupportedOperationException
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:116)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:554)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:138)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:227)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:170)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1364)
at com.bjsxt.dao.impl.UserDaoImpl.save(UserDaoImpl.java:35)
at com.bjsxt.service.UserService.save(UserService.java:22)
at com.bjsxt.test.test.main(test.java:16)
我的主程序是:
package com.bjsxt.dao.impl;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.springframework.stereotype.Component;
import com.bjsxt.dao.UserDao;
import com.bjsxt.model.User;
@Component("u")
public class UserDaoImpl implements UserDao{
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
@Resource
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
public void save(User user) {
System.out.println("session factory class:" + sessionFactory.getClass());
Session s = sessionFactory.openSession();
s.beginTransaction();
s.save(user);
s.getTransaction().commit();
System.out.println("user saved!");
}
} 展开
save
session factory class:class org.hibernate.internal.SessionFactoryImpl
Exception in thread "main" java.lang.UnsupportedOperationException
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:116)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:554)
at org.hibernate.engine.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:138)
at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:380)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:227)
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:170)
at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)
at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1364)
at com.bjsxt.dao.impl.UserDaoImpl.save(UserDaoImpl.java:35)
at com.bjsxt.service.UserService.save(UserService.java:22)
at com.bjsxt.test.test.main(test.java:16)
我的主程序是:
package com.bjsxt.dao.impl;
import javax.annotation.Resource;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.springframework.stereotype.Component;
import com.bjsxt.dao.UserDao;
import com.bjsxt.model.User;
@Component("u")
public class UserDaoImpl implements UserDao{
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
@Resource
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@Override
public void save(User user) {
System.out.println("session factory class:" + sessionFactory.getClass());
Session s = sessionFactory.openSession();
s.beginTransaction();
s.save(user);
s.getTransaction().commit();
System.out.println("user saved!");
}
} 展开
展开全部
应该是数据库链接配置存在问题导致,获取数据库链接出现错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
UserDao的代码贴下
更多追问追答
追问
UserDao代码:
package com.bjsxt.dao;
import com.bjsxt.model.User;
public interface UserDao {
public void save(User user);
}
追答
你这样就save啊,太夸张了吧,配置文件中对hibernate的配置不全,配置好了后你就可以让userDao实现HIbernareDao,这样子就可以重载他的save方法了,不然你用框架做什么,什么都没配置,也没看你配置事务
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s.save(user);
直接save就行了
事务不用控制,通过配置文件操作
直接save就行了
事务不用控制,通过配置文件操作
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询