1

我可以使用以下代码查询具有 id 的行:

Session session = (Session) HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();

result = (T) session.get(clazz, id);

但我想实现一些不同的东西。为什么不可能(或者是吗?)声明某个列并获取与该列值匹配的所有行。像这样:

Session session = (Session) HibernateUtil.getSessionFactory().getCurrentSession();
transaction = session.beginTransaction();

result = (T) session.get(clazz, "column", "column_value");
4

1 回答 1

1

使用Criteria APIHQL很容易实现。

假设 Hibernate 不支持通过非 id 列获取实体,因为工作单元身份映射模式实现与 Hibernate L1 缓存。

还要考虑Session#get 和 Session#load方法之间的差异。

于 2013-02-03T11:09:31.670 回答