そう思い立ちました。。。がっ!
JDOのオブジェクト比較にSQLってどうするんだろ?
と思い立ちしばし、、、
でできました。
- UserService userService = UserServiceFactory.getUserService();
- User user = userService.getCurrentUser();
- PersistenceManager pm = SessionManager.get().getPersistenceManager();
- Query query = pm.newQuery(Shop.class);
- query.setFilter("creator == crrentUser");
- query.declareParameters("com.google.appengine.api.users.User crrentUser");
- try {
- List<Shop> shopList = (List<Shop>)query.execute(user);
- for ( Shop oldShop : shopList ) {
- Shop newShop = new Shop(oldShop);
- shopForm.addShop(newShop);
- }
- } finally {
- query.closeAll();
- }
Query::setFilter()でSQLイメージを作って
Query::declareParameters()で型を宣言します。
Query::execute()で比較するオブジェクトを設定しておきます。
これでOKですね!
ログインしたユーザのみの機能もこれでOKですね。
0 件のコメント:
コメントを投稿