0

エラーが発生している

nested exception is org.hibernate.QueryException: could not resolve property: 
compositKey of: com.thetasp.tu.data.TuSegCreditExposure 
[from com.thetasp.tu.data.TuSegCreditExposure c where c.compositKey.rptRefNo=? and 
c.ic=?]

ここで私はクエリを作成して例外を取得しています

public List<Object> findSegObjByRptRefNo(String rptRefNo, Class className,
        String[] fields, String[] values) {
    StringBuffer buff = new StringBuffer();
    String sql = "from " + className.getName() + " c 
        where c.compositKey.rptRefNo=?";
    buff.append(sql);

    if (fields != null) {
        for (int i = 0; i < fields.length; i++) {
            String field = fields[i];
            buff.append(" and c." + field + "=?");
        }
    }

    Object[] argument = new Object[values.length + 1];
    argument[0] = rptRefNo;

    for (int i = 1; i <= values.length; i++) {
        argument[i] = values[i - 1];
        System.out.println(argument[i]);
    }

    try {

        List<TuSegCreditExposure> exList = getHibernateTemplate().find(
                buff.toString(), argument);
    } catch (Exception e) {
        String message = e.getMessage();
        System.out.println(e.getStackTrace());
    }

    return getHibernateTemplate().find(buff.toString(), argument);
}

この行は私にエラーを与えます

List<TuSegCreditExposure> exList = getHibernateTemplate().find(buff.toString(), 
                                                       argument);

なぜこのエラーが発生するのですか。

これが私のTuSegCreditExposueclassです

public class TuSegCreditExposure extends AbstractArchivableObj implements Serializable {

private TuSegCompositeKey compositeKey;
private String totalAccountsRevolv;
    ....

}

この例外が発生する理由を教えてください。私が間違っていることは何ですか?

ありがとう

4

1 に答える 1

0

そのはず

String sql = "from " + className.getName() + " c 
    where c.compositeKey.rptRefNo=?";

ではなくcompositKey、欠落している e を参照してくださいcomposit:)

ありがとう

于 2013-02-12T04:55:53.787 に答える