Hibernateを使ってWebアプリケーションを作成しています。DBを検索した時にクエリエラーが発生しました。検索ではpreCustomerIdという仮会員IDのみを取得したいです。エラーについて調べてみましたが有力な解決方法が見つかりませんでした。Hibernate JPAにお詳しい方がいましたらご回答をお願いいたします。
※質問の文字数制限の都合でエラーメッセージはキャプチャーとして掲載させていただきます。
Java
1package registration.dao; 2 3import java.io.Closeable; 4import java.io.IOException; 5import java.util.List; 6 7import javax.persistence.EntityManager; 8import javax.persistence.EntityTransaction; 9import javax.persistence.TypedQuery; 10 11import registration.entity.PreUserEntity; 12import util.dao.EmProvider; 13 14/** 15 * 仮ユーザーテーブルにアクセスする 16 * 17 * @author user 18 * 19 */ 20public class PreUserDAO implements Closeable { 21 22 private final static String SQL_FIND_ALL_PRE_USER_ID = "PreUser.findAllPreCostomerId"; 23 24 private EntityManager em = null; 25 EntityTransaction et = null; 26 27 /** 28 * 発番された仮会員IDがテーブルに存在するかどうかを確認する 29 */ 30 public void findAllPreUserId() { 31 32 EntityManager em = null; 33 try { 34 35 em = EmProvider.getInstance().getEntityManagerFactory().createEntityManager(); 36 37 if(em == null){ 38 System.out.println("emの設定に失敗"); 39 } 40 41 TypedQuery<PreUserEntity> query = em.createNamedQuery(SQL_FIND_ALL_PRE_USER_ID, PreUserEntity.class); 42 43 if(query == null){ 44 System.out.println("検索結果のマッピングに失敗"); 45 } 46 47 List<PreUserEntity> entity = query.getResultList(); 48 49 if(entity.size() != 0){ 50 System.out.println("検索成功しました。"); 51 } else { 52 System.out.println("検索結果に失敗しました。"); 53 } 54 } 55 catch(Exception e) { 56 e.printStackTrace(); 57 } 58 finally { 59 if(em != null) { 60 em.close(); 61 } 62 EmProvider.getInstance().closeEmf(); 63 } 64 } 65 66 @Override 67 public void close() throws IOException { 68 if (em != null) { 69 em.close(); 70 } 71 } 72} 73
Java
1package registration.entity; 2 3import java.io.Serializable; 4import java.util.Date; 5 6import javax.persistence.Column; 7import javax.persistence.Entity; 8import javax.persistence.Id; 9import javax.persistence.Table; 10import javax.persistence.Temporal; 11import javax.persistence.TemporalType; 12 13import org.hibernate.annotations.NamedQueries; 14import org.hibernate.annotations.NamedQuery; 15 16/** 17 * The persistent class for the pre_user database table. 18 * 19 */ 20@Entity 21@Table(name = "pre_user") 22@NamedQueries({ 23 @NamedQuery(name = "PreUser.find", query = "SELECT p FROM pre_user p"), 24 @NamedQuery(name = "PreUser.findAllPreCostomerId", query = "SELECT NEW registration.entity.PreUserEntity (p.preCustomerId) FROM pre_user p") 25}) 26 27public class PreUserEntity implements Serializable { 28 29 private static final long serialVersionUID = 1L; 30 31 @Id 32 @Column(name="pre_customer_id") 33 private String preCustomerId; 34 35 @Column(name="process_name") 36 private String processName; 37 38 @Column(name="process_status") 39 private String processStatus; 40 41 @Temporal(TemporalType.TIMESTAMP) 42 @Column(name="register_time") 43 private Date registerTime; 44 45 @Column(name="register_user") 46 private String registerUser; 47 48 @Temporal(TemporalType.TIMESTAMP) 49 @Column(name="update_time") 50 private Date updateTime; 51 52 @Column(name="update_user") 53 private String updateUser; 54 55 public PreUserEntity() { 56 } 57 58 public PreUserEntity(String preCostomerId) { 59 this.preCustomerId = preCostomerId; 60 } 61 62 public String getPreCustomerId() { 63 return this.preCustomerId; 64 } 65 66 public void setPreCustomerId(String preCustomerId) { 67 this.preCustomerId = preCustomerId; 68 } 69 70 public String getProcessName() { 71 return this.processName; 72 } 73 74 public void setProcessName(String processName) { 75 this.processName = processName; 76 } 77 78 public String getProcessStatus() { 79 return this.processStatus; 80 } 81 82 public void setProcessStatus(String processStatus) { 83 this.processStatus = processStatus; 84 } 85 86 public Date getRegisterTime() { 87 return this.registerTime; 88 } 89 90 public void setRegisterTime(Date registerTime) { 91 this.registerTime = registerTime; 92 } 93 94 public String getRegisterUser() { 95 return this.registerUser; 96 } 97 98 public void setRegisterUser(String registerUser) { 99 this.registerUser = registerUser; 100 } 101 102 public Date getUpdateTime() { 103 return this.updateTime; 104 } 105 106 public void setUpdateTime(Date updateTime) { 107 this.updateTime = updateTime; 108 } 109 110 public String getUpdateUser() { 111 return this.updateUser; 112 } 113 114 public void setUpdateUser(String updateUser) { 115 this.updateUser = updateUser; 116 } 117}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/12 15:20