Sometimes no data from Relation to small tables

From: Juergen Saar (juerge..saar.org)
Date: Thu May 28 2009 - 10:16:58 EDT

  • Next message: vaibhav: "Re: Cayenne driver load error"

    Hi,

    there is strange behavior on 1:1 Relations where the target-table has only a
    small amount of data.
    In this cases I can see in the logfile, that there is no select for data at
    all.

    I found a workaround ... I do an explizit select ... this works
    but the relation always brings hollow object
    perhaps it brings a little more understandin of the problem:

    One more thing: I turn caching off, because there is
    more Software on the System that works with this data.

    The Code Sniplet:

    I overwrite the readProperty from CayenneDataObject
    in my derived Class named MwareBusinessObject
    the 'expressionForRelation' is a helper working on base og the
    Cayenne-Configuration

        public Object readProperty(String propName) {
            Object result = null;
            try {
                result = super.readProperty(propName);
               ...
                if (result != null) {
                 ...
                    } else if (result instanceof MwareBusinessObject) {
                        /*
                         *..ORKAROUND
                         */
                        MwareBusinessObject bobj = (MwareBusinessObject) result;
                        if (bobj.getPersistenceState() ==
    PersistenceState.HOLLOW) {
                            Expression ex =
    CayenneUtils.expressionForRelation(this, propName);
                            SelectQuery query = new
    SelectQuery(result.getClass(), ex);
                            List tmp = getDataContext().performQuery(query);
                            if (tmp.size() == 1) {
                                result = tmp.get(0);
                            }
                        }
                    }
                }
            } catch (Exception e) {
          ...

    My Cayenne-Version is 2.0.4

    Sorry for not having tested the Problem with Version 3
    -Juergen-



    This archive was generated by hypermail 2.0.0 : Thu May 28 2009 - 10:17:34 EDT