Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] join fetch fails with "DotNode cannot be cast to VariableNode"

I read single_valued_embeddable_object_field as a field representing an embeddable.


Cronemberger, Constantino wrote:
Hi Tom,

Thanks for your replies.

In the spec (persistence-2_0-final-spec.pdf) we have:

fetch_join ::= [ LEFT [OUTER] | INNER ] JOIN FETCH join_association_path_expression
join_association_path_expression ::= join_collection_valued_path_expression | join_single_valued_path_expression
join_single_valued_path_expression ::= identification_variable.{single_valued_embeddable_object_field.}*single_valued_object_field

The funny thing is that I did not find the definition of "single_valued_embeddable_object_field" in the spec.



Message: 2
Date: Mon, 06 Dec 2010 10:30:18 -0500
From: Tom Ware <tom.ware@xxxxxxxxxx>
To: EclipseLink User Discussions <eclipselink-users@xxxxxxxxxxx>
Subject: Re: [eclipselink-users] join fetch fails with "DotNode cannot
        be cast to VariableNode"
Message-ID: <4CFD018A.40409@xxxxxxxxxx>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Hi Constantino,

   My reading of the JPA specification is that a multi-level fetch is not
allowed in JPQL.

   I believe the bug here is that we are not throwing an exception that tells
you this.

   Our fetch join hint was added to cover this case.


Cronemberger, Constantino wrote:

I have these mappings:

In TestClassA:

    @OneToOne(fetch = FetchType.LAZY)
    public TestClassB getObjectBLocalFk() {
        return objectBLocalFk;

In TestClassB:

    @OneToOne(fetch = FetchType.LAZY)
    public TestClassA getObjectALocalFk() {
        return objectALocalFk;

In this example both relationships are one-to-one but with other types it also happens.

I have tested the suggested workaround and it worked.



eclipselink-users mailing list

Back to the top