openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Patrick Linskey (JIRA)" <>
Subject [jira] Commented: (OPENJPA-162) @OrderBy on @OneToMany does not allow ordering by @Id value
Date Mon, 05 Mar 2007 18:39:50 GMT


Patrick Linskey commented on OPENJPA-162:

I believe that the issue is that the field is not in the current fetch configuration; i.e.,
it's a lazy relationship. The ID field will clearly be part of the instance that is selected
, but when you're selecting Messages, not Threads (or whatever it is that contains Messages).

What happens if you just say '@OrderBy' and leave out the string argument? According to 9.1.28
of the spec, if you just specify @OrderBy and nothing else, the ordering will be ascending
by the pk of the associated records, which happens to be what you want.

> @OrderBy on @OneToMany does not allow ordering by @Id value
> -----------------------------------------------------------
>                 Key: OPENJPA-162
>                 URL:
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 0.9.6
>         Environment: Using PostgreSQL 8.1 as the database
>            Reporter: Nick Johnson
> Using the following annotation:
>    @OneToMany(mappedBy="root", fetch=FetchType.LAZY)
>     @OrderBy("objectId ASC")
>     private List<Message> messages;
> I get the exception "Cannot order "net.spatula.tally_ho.model.MessageRoot.messages" on
"objectId", because that field is not in the default fetch group.  You can only order on fields
that will be selected when the related object is loaded."
> I should certainly hope that the primary key of the related object is going to be selected
when the object is loaded:
>     @Id
>     @Column(name = "object_id")
>     private long objectId;

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message