有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

用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) 个答案