You are right, doesn't look like it off at first glance.

Did you get a Java stack trace?

Mark

On Mon, Jun 1, 2009 at 10:18 AM, Matthew <[email protected]> wrote:

>
> Hi Mark
>
> I assume you mean the generated SQL in the CF debug? If so please see
> below (both queries return data in SQL client):
> *** QUERY 1 ***
> SELECT  testUser_1.firstName, testUser_1.userId, NULL as
> transfer_parentKey, 1 as transfer_orderIndex,'User' as
> transfer_className,'' as transfer_parentClassName,'' as
> transfer_parentParentClassName,'' as
> transfer_parentCompositeName,'false' as transfer_isArray,'' as
> transfer_compositeName, 'false' as transfer_isProxied
> FROM    testUser testUser_1
> WHERE   testUser_1.userId = 1
> AND     testUser_1.userId IS NOT NULL
> ORDER BY transfer_orderIndex ASC
> *** QUERY 2 ***
> SELECT  testUser_1.firstName, NULL as deliveryName, NULL as
> totalPrice, testUser_1.userId, NULL as orderId, NULL as
> transfer_parentKey, 1 as transfer_orderIndex,'User' as
> transfer_className,'' as transfer_parentClassName,'' as
> transfer_parentParentClassName,'' as
> transfer_parentCompositeName,'false' as transfer_isArray,'' as
> transfer_compositeName, 'false' as transfer_isProxied
> FROM    testUser testUser_1
> WHERE   testUser_1.userId = 1
> AND     testUser_1.userId IS NOT NULL
> UNION ALL
> SELECT  NULL as firstName, testOrder_2.deliveryName,
> testOrder_2.totalPrice, testOrder_2.userId, testOrder_2.orderId, CAST
> (testUser_1.userId as varchar(1000)) as transfer_parentKey, 2 as
> transfer_orderIndex,'Basket' as transfer_className,'User' as
> transfer_parentClassName,'' as transfer_parentParentClassName,'' as
> transfer_parentCompositeName,'true' as transfer_isArray,'UserBaskets'
> as transfer_compositeName, 'false' as transfer_isProxied
> FROM    testUser testUser_1
>                INNER JOIN testOrder testOrder_2 ON testUser_1.userId =
> testOrder_2.userId
> WHERE   testUser_1.userId = 1
> AND     testOrder_2.orderId IS NOT NULL
> UNION ALL
> SELECT  testUser_3.firstName, NULL as deliveryName, NULL as
> totalPrice, testUser_3.userId, NULL as orderId, CAST
> (testOrder_2.orderId as varchar(1000)) as transfer_parentKey, 3 as
> transfer_orderIndex,'User' as transfer_className,'Basket' as
> transfer_parentClassName,'User' as
> transfer_parentParentClassName,'UserBaskets' as
> transfer_parentCompositeName,'false' as transfer_isArray,'OrderUser'
> as transfer_compositeName, 'false' as transfer_isProxied
> FROM    testUser testUser_1
>                INNER JOIN testOrder testOrder_2 ON testUser_1.userId =
> testOrder_2.userId
>                INNER JOIN testUser testUser_3 ON testOrder_2.userId =
> testUser_3.userId
> WHERE   testUser_1.userId = 1
> AND     testUser_3.userId IS NOT NULL
> ORDER BY transfer_orderIndex ASC
>
> I know "order" is a reserved wod but I don't think it's guilty. I've
> changed Order to Basket and same error:
>
> <object name="User" table="testUser">
>        <id name="userId" type="numeric"></id>
>        <property name="firstName" type="string" />
>         <onetomany name="UserBaskets" lazy="true">
>                <link to="Basket" column="userId" />
>                 <collection type="array"></collection>
>        </onetomany>
> </object>
> <object name="Basket" table="testOrder">
>         <id name="orderId" type="numeric"></id>
>        <property name="userId" type="numeric" />
>        <property name="totalPrice" type="numeric" />
>        <property name="deliveryName" type="string" />
>        <manytoone name="OrderUser">
>                <link to="User" column="userId" />
>        </manytoone>
> </object>
>
> Cheers
> Matthew
>
> On Jun 1, 9:52 am, Mark Mandel <[email protected]> wrote:
> > ..except for the fact that 'Order' is a reserved word in SQL, I bet you
> that
> > is what is causing the issue..
> >
> > What is the generated SQL?
> >
> > Mark
> >
> >
> >
> > On Mon, Jun 1, 2009 at 9:48 AM, Matthew <[email protected]>
> wrote:
> >
> > > Hi Mark
> >
> > > Nope: the table isn't called Orders. I've started from scratch and
> > > build 2 new tables testOrders/testUser just to issolate these objects
> > > to rule out other relationships.
> >
> > > There's not much more in the error just "null null The error occurred
> > > on line -1."
> >
> > > I think the problem is that CF is going into an infinite loop because
> > > of recursive referencing (so perhaps to avoid crashing it just throws
> > > a "null null").
> >
> > > To take 1 step back if you use the following XML I get this error "The
> > > object 'Order' has a recursive link back to itself through composition
> > > 'Orders'. You will need to set one of the elements in this chain to
> > > lazy='true' for it to work.":
> >
> > > <object name="User" table="testUser">
> > >         <id name="userId" type="numeric"></id>
> > >        <property name="firstName" type="string" />
> > >        <onetomany name="Orders">
> > >                 <link to="Order" column="userId" />
> > >                <collection type="array"></collection>
> > >        </onetomany>
> > > </object>
> > > <object name="Order" table="testOrder">
> > >        <id name="orderId" type="numeric"></id>
> > >        <property name="userId" type="numeric" />
> > >        <property name="totalPrice" type="numeric" />
> > >        <property name="deliveryName" type="string" />
> > >        <manytoone name="OrderUser">
> > >                <link to="User" column="userId" />
> > >        </manytoone>
> > > </object>
> >
> > > When I add  lazy="true" to either the o2m or m2o the page loads fine.
> > > I can in fact dump the none-lazy array but if I try to dump the lazy
> > > array it throws the "null null" error - e.g. if I change the XML to
> > > the following and try to call getOrdersArray():
> >
> > > <object name="User" table="testUser">
> > >         <id name="userId" type="numeric"></id>
> > >        <property name="firstName" type="string" />
> > >        <onetomany name="Orders" lazy="true">
> > >                <link to="Order" column="userId" />
> > >                <collection type="array"></collection>
> > >        </onetomany>
> > > </object>
> > > <object name="Order" table="testOrder">
> > >        <id name="orderId" type="numeric"></id>
> > >        <property name="userId" type="numeric" />
> > >        <property name="totalPrice" type="numeric" />
> > >        <property name="deliveryName" type="string" />
> > >        <manytoone name="OrderUser">
> > >                <link to="User" column="userId" />
> > >        </manytoone>
> > > </object>
> >
> > > Cheers
> > > Matthew
> >
> > > On May 29, 4:17 pm, Mark Mandel <[email protected]> wrote:
> > > > I don't suppose the table you are pointing at for 'Orders' name is
> > > 'Order',
> > > > or anything weird like that?
> >
> > > > Can we get the full error though?
> >
> > > > Mark
> >
> > > > On Fri, May 29, 2009 at 2:48 PM, Matthew <[email protected]
> >
> > > wrote:
> >
> > > > > Hi
> >
> > > > > I keep getting the follow error "null null" when I try to call
> > > > > get*Array() on a onetomany which is setup to lazy load.
> >
> > > > > The documentation says that what I've done is fine (http://
> > > > > docs.transfer-orm.com/wiki/Using_Lazy_Loading.cfm) so I can't work
> out
> > > > > what's wrong?
> >
> > > > > Here's my Transfer XML config:
> >
> > > > > <object name="User">
> > > > >        <id name="userId" type="numeric"></id>
> > > > >        <property name="firstName" type="string" />
> > > > >        <onetomany name="Orders" lazy="true">
> > > > >                <link to="Order" column="userId" />
> > > > >                <collection type="array"></collection>
> > > > >        </onetomany>
> > > > > </object>
> >
> > > > > I'm trying to call user.getOrdersArray() but get the error. I can
> call
> > > > > user.getUserId() and user.getFirstName() no problem.
> >
> > > > > Setup: Transfer 1.1, CF 7
> >
> > > > > Cheers
> > > > > Matthew
> >
> > > > --
> > > > E: [email protected]
> > > > W:www.compoundtheory.com
> >
> > --
> > E: [email protected]
> > W:www.compoundtheory.com
> >
>


-- 
E: [email protected]
W: www.compoundtheory.com

--~--~---------~--~----~------------~-------~--~----~
Before posting questions to the group please read:
http://groups.google.com/group/transfer-dev/web/how-to-ask-support-questions-on-transfer

You received this message because you are subscribed to the Google Groups 
"transfer-dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/transfer-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to