[ https://issues.apache.org/jira/browse/OPENJPA-162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12478122 ]
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: https://issues.apache.org/jira/browse/OPENJPA-162 > 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.