私は Play Framework 1.2.4 プロジェクトに取り組んでいます。
私の開発用コンピューターには mySql がインストールされており、それを使用しています。本番環境には MS-SQL2005 があります。
バッチ操作である種の HQL を使用する必要があります。選択クエリと削除クエリは mysql では正常に機能しますが、ms-sql ではクエリが機能していないようです。私のコードは次のとおりです。
stateless.createQuery("delete INVENTORY inv where product <>:product and station=:station")
.setParameter("product", lpgProd)
.setParameter("station", inv.station)
.executeUpdate();
int count = stateless.createQuery("from INVENTORY where itemid = :itemid").setParameter("itemid", inv.getId()).list().size();
if(count==0)
stateless.insert(inv);
このコードは基本的に、書き込む前にデータベースに古いレコードがあるかどうかを確認します。また、バッチ操作を高速化するために「ステートレス セッション」を使用しています。
問題は、MS-SQL ではこれらのコードが何もしないことです。レコードを削除せず、リストから結果を返しません。
hql クエリ以外は問題なく動作します。(つまり、sateless.insert(inv))
どうしたらいいですか?