首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >java hibernate -找不到beginTransaction和createQuery

java hibernate -找不到beginTransaction和createQuery
EN

Stack Overflow用户
提问于 2018-06-29 06:41:23
回答 1查看 445关注 0票数 1

我遇到了标题中提到的两个hibernate方法beginTransaction()和createQuery()的问题。Java给出了找不到符号错误

我就是这样开始我的会话的

代码语言:javascript
复制
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

public class HibernateUtil {
 private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;

public static SessionFactory createSessionFactory() {
    Configuration configuration = new Configuration();
    configuration.configure();
    serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
            configuration.getProperties()).build();
    sessionFactory = configuration.buildSessionFactory(serviceRegistry);
    return sessionFactory;
}


}

这就是我如何使用这两种方法

代码语言:javascript
复制
SessionFactory session = HibernateUtil.createSessionFactory();
        Transaction tx = null;
        Users user = null;
        try {
            tx = session.beginTransaction();
            tx.begin();
            Query query = session.createQuery("FROM USERS WHERE USERNAME='"+userId+"'");
            user = (Users)query.uniqueResult();
            tx.commit();
        }

我对hibernate相当不熟悉,也不明白为什么会发生这种情况。我正确地设置了xml配置文件。Netbeans理应添加了所有必需的库,但我仍然收到错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-29 06:54:26

您必须更改此行:

代码语言:javascript
复制
SessionFactory session = HibernateUtil.createSessionFactory();

代码语言:javascript
复制
Session session = HibernateUtil.createSessionFactory().openSession();

因为SessionFactory接口不实现SharedSessionContract接口,而这两者都包含

代码语言:javascript
复制
getTransaction()
createQuery(String string)

Session接口这样的方法。

使用参数绑定而不是字符串连接是一种很好的做法。

代码语言:javascript
复制
Query query = session.createQuery("FROM USERS WHERE USERNAME= :userName")
              .setParameter("userName",userId);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51092075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档