nice :)

so I use @ManyToMany, and still use the @JoinTable, but simply add the @OrderColumn instead of the @OrderBy?

Michael Dick wrote:
In that case the OpenJPA OrderColumn annotation should work.

import org.apache.openjpa.persistence.jdbc.OrderColumn;

@Entity
public class FLeague extends HBaseIdCreateTime {
....
      @ManyToMany
      @OrderColumn(name="DRAFTORDER_ORDER")
      private List<FTeam> draftOrder;
....
}

hth

-mike

On Fri, Oct 24, 2008 at 2:11 PM, Fernando Padilla <[EMAIL PROTECTED]> wrote:

:( it's not.

the sort column lives purely in the relational join table, and is not
associated with any fields in the target entity.




Michael Dick wrote:

Hi,

If the sort column is a mapped field in the target entity you can use
"vanilla" JPA. Something like this should work for you  :

@Entity
public class FLeague extends HBaseIdCreateTime {
....
      @ManyToMany
      @OrderBy("${fieldName} ASC")
      private List<FTeam> draftOrder;
....
}

Replace ${fieldName} with the name of the field in the target entity and
you
should be good to go. If you don't specify a fieldname we'll sort by
primary
key.

Regards,
-mike


On Fri, Oct 24, 2008 at 12:26 PM, Fernando Padilla <[EMAIL PROTECTED]
wrote:
 So, again, I'm trying to port from old JDO to new JPA :)  And I'm trying
to
map a List object, where the relational table is storing the position of
each element.  It looks like standard JPA doesn't want to support this,
but
I was wondering if OpenJPA had this as an option in some way...:




And I have this sort of relational join table.

mysql> desc FLEAG_DRAFTORDER;
+------------------+------------+------+-----+---------+-------+
| Field            | Type       | Null | Key | Default | Extra |
+------------------+------------+------+-----+---------+-------+
| DRAFTORDER_JDOID | bigint(20) | YES  | MUL | NULL    |       |
| DRAFTORDER_ORDER | int(11)    | YES  |     | NULL    |       |
| JDOID            | bigint(20) | YES  | MUL | NULL    |       |
+------------------+------------+------+-----+---------+-------+
JDOID -> FLEAGUE
DRAFTORDER_JDOID -> FTEAM
DRAFTORDER_ORDER -> LIST_INDEX_POSITION




The owning class has a field:

@Entity
public class FLeague extends HBaseIdCreateTime {
....
      @ManyToMany
      private List<FTeam> draftOrder;
....
}


@Entity
public class FTeam extends HBaseIdCreateTime {
....
}



Reply via email to