2008年10月3日金曜日

cayenneでIN句に主キーを利用する

CayenneでIN句に主キーを利用しようとした場合
inExpメソッドではなく、 inDbExpを利用しないとだめ。なんで?

List idList = new ArrayList();
idList.add("pk00001");
idList.add("pk00002");
idList.add("pk00003");
idList.add("pk00004");

Expression expression = null;

// ①:これは正常に動作
expression = ExpressionFactory.inDbExp(TestTable.ID_PK_COLUMN, idList);

// ②:これは異常終了。 これつかんのは変だよなー
// expression = ExpressionFactory.inExp(TestTable.ID_PK_COLUMN, idList);

SelectQuery query = new SelectQuery(TestTable.class, expression);

List testTableList = getObjectContext().performQuery(query);

以上

0 件のコメント:

コメントを投稿