Hibernate如何创建限制参数

问题描述

我对Hibernate还是陌生的,我试图了解Restriction如何与Criteria一起使用。我有一个带有id,user_id,date ACCOUNTS 表。我想获取 ACCOUNTS 表并根据id过滤出将要提供给我的行。

我发现我可以使用Restriction.eq("",Object)。我想知道我想做的事是否正确。这是我的代码:

final Criteria crit = session.createCriteria(Accounts.class).add(Restrictions.eq("id",accountId));

accountId被赋予accountId,这将是简单的String

"id"在xml文件中定义如下:

<class name="com.xxxxxxx.Accounts" table="ACCOUNTS">
    <id name="id" type="java.lang.Long">
        <column name="ID"/>
        <generator class="sequence">
            <param name="sequence_name">ACCOUNTS_ID_SEQ</param>
            <param name="sequence">ACCOUNTS_ID_SEQ</param>
        </generator>
    </id>

这项工作吗?我不确定accountId是否会从暴击中过滤掉行。如果不起作用,正确的处理方法是什么?

解决方法

您的代码示例是完全正确的。您是否有任何怀疑自己的特殊原因?

    public Accounts getById(final String id) {

        final Criteria cr = session.createCriteria(Accounts.class);
        cr.add(Restrictions.eq("id",id));
        return (Accounts) cr.uniqueResult();
    }
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...