質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
NetBeans

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

Q&A

解決済

1回答

344閲覧

JPQLでの検索について

kiyoya

総合スコア4

NetBeans

NetBeansは Java、HTML5、PHP、C/C++のアプリケーションのフレームワーク、もしくは統合開発環境(NetBeans IDE)の両方を指します

0グッド

1クリップ

投稿2017/12/25 15:11

###前提・実現したいこと
やり方がわからなくて困っております。卒業研究において、リストボックスで選択した値を受け取ってNamedクエリーを使って検索したいのですがうまくいきません。
Namedクエリーの"Word.findByKindNumber"のところです。他のはうまくいきました。

###該当のソースコード

java

1Word 2 3 @Entity 4@Table(name = "word") 5@XmlRootElement 6@NamedQueries({ 7 @NamedQuery(name = "Word.findAll", query = "SELECT w FROM Word w") 8 , @NamedQuery(name = "Word.findByWordNumber", query = "SELECT w FROM Word w WHERE w.wordNumber = :wordNumber") 9 , @NamedQuery(name = "Word.findByWordname", query = "SELECT w FROM Word w WHERE w.wordname = :wordname") 10 , @NamedQuery(name = "Word.findByWordDescription", query = "SELECT w FROM Word w WHERE w.wordDescription = :wordDescription") 11 , @NamedQuery(name = "Word.findByWordImage", query = "SELECT w FROM Word w WHERE w.wordImage = :wordImage") 12 , @NamedQuery(name = "Word.findByPseudonymReading", query = "SELECT w FROM Word w WHERE w.pseudonymReading = :pseudonymReading") 13,@NamedQuery(name = "Word.findByKindNumber", query = "SELECT w FROM Word w WHERE w.kindNumber = :kindNumber")}) 14public class Word implements Serializable { 15 16 private static final long serialVersionUID = 1L; 17 @Id 18 @Basic(optional = false) 19 @NotNull 20 @Size(min = 1, max = 5) 21 @Column(name = "wordNumber") 22 private String wordNumber; 23 @Size(max = 50) 24 @Column(name = "wordname") 25 private String wordname; 26 @Size(max = 1000) 27 @Column(name = "wordDescription") 28 private String wordDescription; 29 @Size(max = 255) 30 @Column(name = "wordImage") 31 private String wordImage; 32 @Size(max = 50) 33 @Column(name = "pseudonymReading") 34 private String pseudonymReading; 35 @JoinColumn(name = "kindNumber", referencedColumnName = "kindNumber") 36 @ManyToOne 37 38 private Kind kindNumber;

Java

1WordFacade 2/*検索*/ 3 public List search(String id){ 4 5 TypedQuery<Word> q = em.createNamedQuery("Word.findKindNumber1",Word.class).setParameter("kindNumber",id); 6 7 return q.getResultList(); 8 } 9 10

Java

1WordBean 2@Named(value = "wordBean") 3@RequestScoped 4@TransactionManagement 5public class WordBean { 6 7 /*変数宣言*/ 8 private String kindNumber; //分野名 9 private String wordName; //単語名 10 private String wordRead; //五十音頭文字 11 private List<Word> list; //Wordリスト 12 13 @EJB 14 WordFacade wf; 15 16 17 /*分野検索*/ 18 public String kindSearch(){ 19 20 list = wf.search(kindNumber); 21 return "output.xhtml"; 22 23 }

html

1<h:form> 2 <p:selectOneListbox value="#{wordBean.kindNumber}"> 3 <f:selectItem itemLabel="ネットワーク" itemValue="kind1"/> 4 <f:selectItem itemLabel="セキュリティ" itemValue="kind2" /> 5 <f:selectItem itemLabel="マネジメント" itemValue="kind3" /> 6 </p:selectOneListbox> 7 <p:commandButton value="検索" action="#{wordBean.kindSearch()}"/> 8 9 </h:form>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

NativeQueryを使って検索を行うことにしました。

投稿2018/01/18 04:53

kiyoya

総合スコア4

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問