用hibernate保存pojo的java
我刚开始冬眠,我正试着练习如何使用它。我已经定义了一个通用的数据库类来使用PostgreSQL数据库传输数据。在使用不同功能时,我遇到了一个例外:
Illegal attempt to associate a collection with two open sessions
下面是我正在使用的两个类:
public class Constents {
private final static Configuration configuration = new Configuration().configure().
addAnnotatedClass(User.class).addAnnotatedClass(Tweet_Comment.class).addAnnotatedClass(Chat.class)
.addAnnotatedClass(Notification.class).addAnnotatedClass(GroupChat.class).addAnnotatedClass(Massage.class)
.addAnnotatedClass(SortingName.class).addAnnotatedClass(UserList.class);
private final static SessionFactory factory = configuration.buildSessionFactory();
public static SessionFactory getFactory() {
return factory;
}
}
public class Database {
public static <T> void save(T pojo) {
Session session = Constents.getFactory().openSession();
Transaction transaction = session.beginTransaction();
session.save(pojo);
transaction.commit();
session.close();
}
public static <T> void update(T pojo) {
Session session = Constents.getFactory().openSession();
Transaction transaction = session.beginTransaction();
session.update(pojo);
transaction.commit();
session.close();
}
public static <T> void delete(T pojo) {
Session session = Constents.getFactory().openSession();
Transaction transaction = session.beginTransaction();
session.delete(pojo);
transaction.commit();
session.close();
}
public static <T> T get(int id) {
Session session = Constents.getFactory().openSession();
T t = (T) session.get(User.class, id);
session.close();
return t;
}
我已经检查了一天的异常原因,我发现我使用会话肯定有问题。因此,如果有人能告诉我数据库课程中是否有任何错误,我将不胜感激
共 (0) 个答案