teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

説明の修正

2017/03/30 22:14

投稿

Linkey
Linkey

スコア77

title CHANGED
File without changes
body CHANGED
@@ -1,19 +1,5 @@
1
- javaでJPAを使用したwebアプリケーションをmavenプロジェクトで作成しています。EntityManagerを使用して指定のテーブルにレコードを挿入させたいのですがエラーが発生してしまいました。
1
+ javaでJPAを使用したwebアプリケーションをmavenプロジェクトで作成しています。サーブレットからEntityManagerを使用して指定のテーブルにレコードを挿入させたいのですがエラーが発生してしまいました。
2
- まず実現させたい処理は以下の通りです。
3
2
 
4
- 【処理ロジック】
5
- htmlのページから会員登録ボタンを押す
6
-
7
- サーブレットにてIPアドレスとセッション値とプロセス処理名を取得し、
8
- DB操作を行うクラスをインスタンス化してメソッドを呼びだす
9
-
10
- 取得したIPアドレス、セッション値、プロセス処理名をsetterでクラスに設定をして
11
- Entitymanagerのpersistでレコードを挿入を行う
12
-
13
- レコード挿入が完了したら、EntityManager、EntityManagerFactoryをcloseして呼び出し元のサーブレットへ戻る
14
-
15
- 処理が成功したら、利用規約同意画面(htmlファイル)を表示させる
16
-
17
3
  作成したのは以下のものです。
18
4
 
19
5
  ```java
@@ -38,35 +24,8 @@
38
24
  */
39
25
  public class ResistrationServlet extends HttpServlet {
40
26
  private static final long serialVersionUID = 1L;
41
- static org.apache.logging.log4j.Logger logger = LogManager.getLogger(Logger.class.getName());
42
- final Properties prop = new Properties();
43
27
  final static String REQUEST_URL = "http://localhost:8080/rastaurant-maven/";
44
28
 
45
- //初期化処理を行います
46
- public void init() throws ServletException{
47
-
48
- InputStream inStream = null;
49
- try {
50
- inStream = ResistrationServlet.class.getClassLoader()
51
- .getResourceAsStream("url.properties");
52
- if (inStream == null) {
53
- logger.error("プロパティ設定情報取得失敗");
54
- throw new IllegalArgumentException("プロパティファイルの読み込みに失敗しました。");
55
- }
56
- prop.load(inStream);
57
- } catch (IOException e) {
58
- e.printStackTrace();
59
- } finally {
60
- try {
61
- if (inStream != null) {
62
- inStream.close();
63
- }
64
- } catch (IOException e) {
65
- e.printStackTrace();
66
- }
67
- }
68
- }
69
-
70
29
  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
71
30
 
72
31
  doPost(request, response);
@@ -115,16 +74,13 @@
115
74
  UserOperationHistroyEntity uohe = new UserOperationHistroyEntity();
116
75
  tx.begin();
117
76
 
118
- if(operation_code.equals("DecidedResistration")){
119
77
  uohe.setIp_address(ipAddress);
120
78
  uohe.setSession_id(sessionId);
121
79
  uohe.setOperation_code(operation_code);
122
80
  uohe.setOperation_status("Completed ");
123
81
  em.persist(uohe);
124
- }else{
125
- //DecudedResistrationの実装完了後に実装。
126
- }
127
82
 
83
+
128
84
  tx.commit();
129
85
  em.close();
130
86
  emf.close();
@@ -309,5 +265,4 @@
309
265
 
310
266
  ```
311
267
 
312
- createEntityManagerFactoryはpersistence.xmlに設定したpersistence-unit nameと同じ値を設定したにもかかわらず「No Persistence provider for EntityManager named restaurant」というエラーになります。何か設定が不足してのでしょうか?それともpersistence.xml配置場所ないでしょうか?
313
- ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定にお詳しい方がいましたら教えていただけないでしょうか?
268
+ createEntityManagerFactoryはpersistence.xmlに設定したpersistence-unit nameと同じ値を設定したにもかかわらず「No Persistence provider for EntityManager named restaurant」というエラーになります。persistence.xmlの設定が良くないのでしょうか?JPAやEntity、Hibernate設定にお詳しい方いまたら教えていただけないでしょうか?

3

説明の修正

2017/03/30 22:14

投稿

Linkey
Linkey

スコア77

title CHANGED
File without changes
body CHANGED
@@ -310,4 +310,4 @@
310
310
  ```
311
311
 
312
312
  createEntityManagerFactoryはpersistence.xmlに設定したpersistence-unit nameと同じ値を設定したにもかかわらず「No Persistence provider for EntityManager named restaurant」というエラーになります。何か設定が不足しているのでしょうか?それともpersistence.xmlの配置場所が正しくないのでしょうか?
313
- ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定やmavenプロジェクトにお詳しい方がいましたら教えていただけないでしょうか?あるいはやり直しをしたほうがよいでしょうか?
313
+ ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定にお詳しい方がいましたら教えていただけないでしょうか?

2

2017/03/28 12:54

投稿

Linkey
Linkey

スコア77

title CHANGED
File without changes
body CHANGED
@@ -85,8 +85,6 @@
85
85
 
86
86
  OperationUserProcessing oup = new OperationUserProcessing();
87
87
  oup.operation(operation_code, ipAddress, session_id);
88
-
89
- //利用規約同意画面を表示する
90
88
  String getRequestUrl = prop.getProperty(operation_code);
91
89
 
92
90
  //利用規約同意画面を表示する
@@ -312,4 +310,4 @@
312
310
  ```
313
311
 
314
312
  createEntityManagerFactoryはpersistence.xmlに設定したpersistence-unit nameと同じ値を設定したにもかかわらず「No Persistence provider for EntityManager named restaurant」というエラーになります。何か設定が不足しているのでしょうか?それともpersistence.xmlの配置場所が正しくないのでしょうか?
315
- ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定やmavenプロジェクトにお詳しい方がいましたら教えていただけないでしょうか?よろしくお願たします
313
+ ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定やmavenプロジェクトにお詳しい方がいましたら教えていただけないでしょうか?あるはやり直しをしほうがよいでょうか?

1

2017/03/28 03:28

投稿

Linkey
Linkey

スコア77

title CHANGED
File without changes
body CHANGED
@@ -312,4 +312,4 @@
312
312
  ```
313
313
 
314
314
  createEntityManagerFactoryはpersistence.xmlに設定したpersistence-unit nameと同じ値を設定したにもかかわらず「No Persistence provider for EntityManager named restaurant」というエラーになります。何か設定が不足しているのでしょうか?それともpersistence.xmlの配置場所が正しくないのでしょうか?
315
- ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定やmavenプロジェクトにお詳しい方がいましたら教えていただけないでしょうか?
315
+ ちなみにpersistence.xmlは src/main/resources/META-INFフォルダの下に置いてあります。Javaのマッピングの設定やmavenプロジェクトにお詳しい方がいましたら教えていただけないでしょうか?よろしくお願いいたします