mysqlを使用したデータの登録、参照、削除などが可能なwebアプリケーションを作成中です。
現状はローカル環境では、動作が上手くいっています。が、ec2にデプロイしたところ、データの登録時にエラーが出ます。
構成としては、ec2にアプリケーションを配置し、rds内のmysqlに接続する構成です。
エラー内容はこちらです。
HTTPステータス 500 – Internal Server Error タイプ 例外報告 メッセージ [PersistenceUnit: hotel_booking_system] Unable to build Hibernate SessionFactory 説明 サーバーは予期しない条件に遭遇しました。それはリクエストの実行を妨げます。 例外 javax.persistence.PersistenceException: [PersistenceUnit: hotel_booking_system] Unable to build Hibernate SessionFactory org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:970) org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:895) org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) utils.DBUtil.getEntityManagerFactory(DBUtil.java:16) utils.DBUtil.createEntityManager(DBUtil.java:12) controllers.login.LoginServlet.doPost(LoginServlet.java:57) javax.servlet.http.HttpServlet.service(HttpServlet.java:681) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) filters.EncodingFilter.doFilter(EncodingFilter.java:40) 根本原因 org.hibernate.MappingException: Could not get constructor for org.hibernate.persister.entity.SingleTableEntityPersister org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:123) org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:128) org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:300) org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:460) org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892) org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) utils.DBUtil.getEntityManagerFactory(DBUtil.java:16) utils.DBUtil.createEntityManager(DBUtil.java:12) controllers.login.LoginServlet.doPost(LoginServlet.java:57) javax.servlet.http.HttpServlet.service(HttpServlet.java:681) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) filters.EncodingFilter.doFilter(EncodingFilter.java:40) 根本原因 org.hibernate.HibernateException: Unable to instantiate default tuplizer [org.hibernate.tuple.entity.PojoEntityTuplizer] org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:91) org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:116) org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:385) org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:519) org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:124) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:128) org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:300) org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:460) org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892) org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) utils.DBUtil.getEntityManagerFactory(DBUtil.java:16) utils.DBUtil.createEntityManager(DBUtil.java:12) controllers.login.LoginServlet.doPost(LoginServlet.java:57) javax.servlet.http.HttpServlet.service(HttpServlet.java:681) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) filters.EncodingFilter.doFilter(EncodingFilter.java:40) 根本原因 java.lang.reflect.InvocationTargetException java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) org.hibernate.tuple.entity.EntityTuplizerFactory.constructTuplizer(EntityTuplizerFactory.java:88) org.hibernate.tuple.entity.EntityTuplizerFactory.constructDefaultTuplizer(EntityTuplizerFactory.java:116) org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:385) org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:519) org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:124) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:96) org.hibernate.persister.internal.PersisterFactoryImpl.createEntityPersister(PersisterFactoryImpl.java:77) org.hibernate.metamodel.internal.MetamodelImpl.initialize(MetamodelImpl.java:128) org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:300) org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:460) org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892) org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55) javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39) utils.DBUtil.getEntityManagerFactory(DBUtil.java:16) utils.DBUtil.createEntityManager(DBUtil.java:12) controllers.login.LoginServlet.doPost(LoginServlet.java:57) javax.servlet.http.HttpServlet.service(HttpServlet.java:681) javax.servlet.http.HttpServlet.service(HttpServlet.java:764) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) filters.EncodingFilter.doFilter(EncodingFilter.java:40)
自分で試したこと
ec2とRDSの接続が上手くいっていないのか、確認したところ接続はできました。
やはりアプリケーションに問題があるようです。
文字数の関係で情報不足かと思われます。コメント欄に記載頂ければ、記載致しますので、宜しくお願い致します。
あなたの回答
tips
プレビュー