###前提・実現したいこと
やり方がわからなくて困っております。卒業研究において、リストボックスで選択した値を受け取って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>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。