私のウェブサイトのSQLクエリでeclipselink構文を使用するのが困難です。現在、適切なボタンで検索テキストボックスのエントリを作成しました。データレコードはタイトルと説明で検索できますが、検索コンテンツはデータベースデータのタイトル/説明と同じに一致する必要があります。私の主な問題は、パラメータ "searchString"とワイルドカード機能(%)でLIKE句を使用して正しいSQLクエリを作成することです。検索機能の実装 - eclipselink SQLを文字列としてパラメータとワイルドカード%
以下、エンティティクラスからのクエリのサンプルを示しました。
@NamedQuery(name = "Ad.findByString", query = "SELECT a FROM Ad a WHERE a.title LIKE :searchString OR a.description LIKE :searchString")
「:」マークは、パラメータが使用されていることを示しています。検索コンテンツが含まれている広告を検索するためにワイルドカード%機能を実装する方法については、誰にも提案はありますか?私はまた、データベースのクラス別から
public static Collection <Ad> getSearchedAds (String searchString) {
EntityManager em = DBUtils.getEmFactory().createEntityManager();
Collection<Ad> results = null;
TypedQuery<Ad> q = em.createNamedQuery("Ad.findByString", Ad.class);
q.setParameter("searchString", searchString);
try {
results = q.getResultList();
} catch (Exception e) {
results = null;
}
私getSearchedAdsメソッドが含まれている下
はお時間をいただき、ありがとうございます。
「Mysql」または「sql-server」データベースを使用しましたか? – Blank
@Reno私はデータベースを作成するためにMySQLワークベンチを使用しました –