Hibernate模板会话查询

发布于 2024-12-05 11:13:21 字数 413 浏览 2 评论 0原文

我们使用 Spring HibernateTemplate 类进行休眠操作。我需要使用 in 子句执行查询并设置使用 arrayList 的选项。为此,我需要一个 org.hibernate.Query 对象。

String queryStr = "from CertMetadataCfg where metadataId in (:metadataIds)";
Query query=hibernateTemplate.getSessionFactory().openSession().createQuery(queryStr)
query.setParameterList("metadataIds", metadataSet);

但为了检索查询对象,我们必须打开一个新会话。为什么我们需要打开一个会话。我们应该什么时候结束本次会议。

We are using Spring HibernateTemplate class for hibernate operation. I need to execute a query with in clause and setting the options for in using an arrayList. For that i need a org.hibernate.Query object.

String queryStr = "from CertMetadataCfg where metadataId in (:metadataIds)";
Query query=hibernateTemplate.getSessionFactory().openSession().createQuery(queryStr)
query.setParameterList("metadataIds", metadataSet);

but for retrieving Query object we have to open a new session. Why do we need to open a session. and when should we close this session .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

逆蝶 2024-12-12 11:13:21

HibernateTemplate 负责会话处理的打开和关闭。

请检查文档。

使用 findByNamedParam -

getHibernateTemplate().findByNamedParam("from CertMetadataCfg where metadataId in (:metadataIds)", "metadataIds", metadataIds);

HibernateTemplate does the opening and closing of the session handling.

Please check the documentation.

Use findByNamedParam -

getHibernateTemplate().findByNamedParam("from CertMetadataCfg where metadataId in (:metadataIds)", "metadataIds", metadataIds);
柏拉图鍀咏恒 2024-12-12 11:13:21

如果您只想进行读取,则无需打开会话。使用 getHibernateTemplate().find(queryString);

If you want to do only a read, you dont need to open the session. Use getHibernateTemplate().find(queryString);

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文