条件查询无法获取数据

Criteria Query unable to fetch Data

我的数据库视图有一个 hbm 文件,其中所有列作为复合键

    <?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping auto-import="false">
    <class name="com.sample.dataobject.MyView"
        table="MY_VIEW" >
        <composite-id>
            <key-property name="code" type="string">
                <column name="CODE" length="2" />
            </key-property>
            <key-property name="Id" type="string">
                <column name="ID" length="14" />
            </key-property>
            <key-property name="Desc" type="string">
                <column name="DESC" length="256" />
            </key-property>
            <key-property name="TypeCode" type="string">
                <column name="TYPE_CODE" length="2" />
            </key-property>
        </composite-id>
    </class>
</hibernate-mapping>

在上面的视图中,列 DESC 可以是空值。

我编写了一个条件查询来获取基于 CODEID

的结果
Criteria c = getSession().createCriteria(MyView.class);
    c.add(Restrictions.eq("code", 'US'));
    c.add(Restrictions.eq("Id", '12'));
    List<MyView> annuityServices= c.list();

View中有2行满足这些条件,但是返回的List是[null,null]

此外,当我放置一个记录器来检查查询和值时,它 returns 2 行但在 null

的 DESC 列中断
    2017-06-07 17:08:19 TRACE BasicExtractor:78 - extracted value ([CODE_1_390_0_] : [VARCHAR]) - [US]
2017-06-07 17:08:19 TRACE BasicExtractor:78 - extracted value ([ID_2_390_0_] : [VARCHAR]) - [12]
2017-06-07 17:08:19 TRACE BasicExtractor:68 - extracted value ([DESC_9_390_0_] : [VARCHAR]) - [null]
2017-06-07 17:08:19 TRACE BasicExtractor:78 - extracted value ([CODE_1_390_0_] : [VARCHAR]) - [US]
2017-06-07 17:08:19 TRACE BasicExtractor:78 - extracted value ([ID_2_390_0_] : [VARCHAR]) - [12]
2017-06-07 17:08:19 TRACE BasicExtractor:68 - extracted value ([DESC_9_390_0_] : [VARCHAR]) - [null]

遇到 null 值时是否有问题,或者条件 API 中断?

谢谢

In the above view, the column DESC can be a null value.

根据Hibernate documentation,主键必须不为空:

The values cannot be null. For composite ids, no part can be null.