名前付きJDBCテンプレートとクエリを使用して同様の一致を実行しようとしています...
SELECT
id, guid, body, summary, status_id, language_id, is_mce, content_type_id,
last_edited_by, locked_by, owner_id, coordinator_id, writer_id, paperless,
content_body_type, created, updated, locked_timestamp
FROM dbo.content
WHERE notes LIKE :notes
:notes
にバインドされて%test%
おり、残念ながら結果は返されません。データベースをチェックして、このデータが存在することを確認しました。これは、同様の一致を実行するための正しい方法ではありませんか?
アップデート
このクエリを生成するコードの一部...
String notes = search.getNotes();
if (notes instanceof String && notes.length() > 0) {
if (!previousClause) {
searchQuery.append("WHERE ");
previousClause = true;
}
searchQuery.append("notes LIKE :notes AND ");
queryMap.put("notes", "%"+notes+"%");
}
Collection<Category> categories = search.getCategoryCollection();
if (categories != null && categories.size() > 0) {
Short x = 0;
for (Category category : categories) {
searchQuery.append("INNER JOIN dbo.content_to_category AS content_to_category"+x.toString()+" ON (content_to_category"+x.toString()+".category_id IN (:categoryId"+x.toString()+") AND content_to_category"+x.toString()+".content_id = content.id) ");
queryMap.put("categoryId"+x.toString(), category.getId());
x++;
}
}