hi there i am porting a python GAE to java but have come unstuck with self reference type. my existing data model uses the SelfReferenceProperty and it allow me to do a very powerful query in a simple manner.
Python model ---------------------- class PositionUser(db.Model): user = db.UserProperty() latitude = db.FloatProperty() longitude = db.FloatProperty() name = db.StringProperty() friend = db.SelfReferenceProperty( collection_name='friend_user' ) Query ------- userRef = Model.PositionUser.gql("where user=:1", user).get() positions = user.friend_user.filter('latitude>',minLat).filter ('latitude <', maxLat) However when porting to java, i am unable to achieve the 'collection filter' that was available in python. currently i am using the familiar JPA. i have implemented the sefReference property as a @OneToMany. my model is below JPA ---------- @Entity public class PositionUser { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Key key; User user; String latitude; float longitude; @OneToMany Collection<PositionUser> friends ; But i am unable to achieve the same query result. PositionUser positionUser = em.find(PositionUser.class, user1.getKey ()); but now how to filter positionUser.friends based on their latitude? any help is appreciated -lp -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" group. To post to this group, send email to google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=.