1

遊ぶ!フレームワークには関数ごとのグループがありません。この機能の欠如は、本当にイライラし始めます。どうすれば回避できますか?byRouteIdtrip_headsign でグループ化したい。単純な生のクエリは次のようになります。

SELECT *
FROM trips
WHERE route_id = 1070
GROUP BY trip_headsign

これは私のTrip.javaです

@Entity  
@Table(name="trips")
public class Trip extends Model {

    @Constraints.Required
    public String route_id;
    @Constraints.Required
    public String service_id;
    @Id
    public String trip_id;
    public String trip_headsign;
    public String direction_id;
    public String block_id;
    public String shape_id;

    @ManyToOne
    @JoinColumn(name="route_id")
    public TRoute troute;

    public static List<Trip> byRouteId(String route_id) {
        List<Trip> trips = 
            Trip.find
            .fetch("troute") // fetch TRoute properties.
            .where().like("route_id", route_id)
            .findList();
        return trips;
    }

    public static Finder<String, Trip> find = new Finder(
            String.class, Trip.class
    );

}
4

1 に答える 1

0

代わりに、javax.persistence の EntityManager クラスの createNativeQuery 関数を使用して、生の SQL クエリを使用できます。

EntityManager em = play.db.jpa.JPA.em();
List<Trip> tripList = em.createNativeQuery("insert raw sql query here").getResultList();
于 2013-01-18T18:32:25.763 に答える