Re: Bogus hollow object exception

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Sat May 20 2006 - 13:34:19 EDT

  • Next message: Øyvind Harboe: "Re: Bogus hollow object exception"

    Other adapters address trailing space problem by some combination of
    a trimming CharType and TrimmingQualifierTranslator (see
    SybaseAdapter and SQLServerAdapter):

    map.registerType(new CharType(true, false));

    public QualifierTranslator getQualifierTranslator(QueryAssembler
    queryAssembler) {
             return new TrimmingQualifierTranslator(
                     queryAssembler,
                     SQLServerAdapter.TRIM_FUNCTION);
    }

    This would be a more generic solution based on things already in
    Cayenne. I think it may fix your case as well.

    Andrus

    On May 20, 2006, at 1:17 PM, Øyvind Harboe wrote:

    > I'm having a problem with a legacy database that have string primary
    > keys where there occasionally are extra spaces after the primary key.
    >
    > SQL will ignore trailing spaces in WHERE clauses, i.e. WHERE
    > "FOO"="FOO<SPACE>" will yield a match, so this works in the
    > legacy application I'm porting.
    >
    > However, Cayenne throws a bogus hollow objection exception.
    >
    > I managed to find a workaround where I trimmed spaces from primary
    > keys
    > passed into the ObjectId constructor.
    >
    > See my working notes & patch at the end:
    >
    >
    > http://issues.apache.org/cayenne/browse/CAY-550
    > --
    > Øyvind Harboe
    > http://www.zylin.com
    >
    >



    This archive was generated by hypermail 2.0.0 : Sat May 20 2006 - 13:34:55 EDT