2017-09-08 16 views
1

私は、休止状態の設定で何が問題なのかを数週間試してきました。私は、Web開発にはかなり新しいので、一般的なエラーを私に許してください。私は、maven Webアプリケーションを使用して簡単なログインページを作成しようとしており、mysqlデータベースでフレームワークを休止状態にしています。ドライバは、上記のソースエクスプローラのようにデータベースに接続できます。しかし、休止状態の接続は読み取りスキーマエラーをスローします。読み取りスキーマエラー:データベースのテーブルの一覧を取得できませんでした。おそらくJDBCドライバ

プロジェクトを実行しようとすると、マップされたクラスの不明なエンティティエラーが発生します。私は同様の問題をオンラインで見てきましたが、解決策は機能していないようで、エラーは異なっています。

Userクラス:

package ProjectName.users; 
import java.util.Date; 

public class User { 
private int user_no; 
private String user_name; 
private String password; 
private String full_name; 
private String email_id; 
private String about_me; 
private Date dob; 
private Date doj; 

public String getUser_name() { 
    return user_name; 
} 
public void setUser_name(String user_name) { 
    this.user_name = user_name; 
} 
public String getPassword() { 
    return password; 
} 
public void setPassword(String password) { 
    this.password = password; 
} 
public String getFull_name() { 
    return full_name; 
} 
public void setFull_name(String full_name) { 
    this.email_id = full_name; 
} 
public String getEmail_id() { 
    return email_id; 
} 
public void setEmail_id(String email_id) { 
    this.email_id = email_id; 
} 
public void setAbout_me(String about_me) { 
    this.about_me = about_me; 
} 
public String getAbout_me() { 
    return about_me; 
} 
public Date getDob() { 
    return dob; 
} 
public void setDob(Date dob) { 
    this.dob = dob; 
} 
public Date getDoj() { 
    return doj; 
} 
public void setDoj(Date doj) { 
    this.doj = doj; 
} 
@Override 
public String toString() { 
    return "userdb [user_no=" + user_no + "user_name=" + user_name + ", 
    password = " + password +", full_name = "+full_name+", dob = " + dob + ", doj = " + 
    doj + ", email_id=" + email_id + ", about_me=" + about_me + "]"; 
} 
} 

Hibernate設定ファイル:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
<session-factory> 
    <property 
    name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.password">password</property> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/userdb</property> 
    <property name="hibernate.connection.username">root</property> 
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> 
    <property name="show_sql">true</property> 
    <property name="format_sql">true</property> 
    <property name="hbm2ddl.auto">update </property> 
    <mapping resource="User.hbm.xml" /> 
</session-factory> 

私は個人的な理由のためにプロジェクトの名前を消さました。以下はプロジェクトの詳細です。

From top: Hibernate Configurations [jboss tools], Java build path, Data Source Explorer, Stack Trace from console, web deployment Assembly

スタックトレース:

Sep 09, 2017 1:58:36 PM org.hibernate.resource.transaction.backend.jdbc.internal.DdlTransactionIsolatorNonJtaImpl getIsolatedConnection 
INFO: HHH10001501: Connection obtained from JdbcConnectionAccess [org.hibernate.engine.jdbc.env.internal.[email protected]240fdbb5] for (non-JTA) DDL execution was not in auto-commit mode; the Connection 'local transaction' will be committed and the Connection will be set into auto-commit mode. 
org.hibernate.UnknownEntityTypeException: Unable to locate persister: projectName.users.User 
    at org.hibernate.metamodel.internal.MetamodelImpl.locateEntityPersister(MetamodelImpl.java:637) 
    at org.hibernate.internal.SessionImpl.locateEntityPersister(SessionImpl.java:2942) 
    at org.hibernate.internal.SessionImpl.access$1800(SessionImpl.java:203) 
    at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>(SessionImpl.java:2693) 
    at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.<init>(SessionImpl.java:2679) 
    at org.hibernate.internal.SessionImpl.byId(SessionImpl.java:1200) 
    at org.hibernate.internal.SessionImpl.get(SessionImpl.java:1073) 
    at ProjectName.users.UserDao.getuserByUID(UserDao.java:108) 
    at ProjectName.users.Validation.doPost(Validation.java:69) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:625) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498) 
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1372) 
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 
Sep 09, 2017 1:58:36 PM org.apache.catalina.core.StandardWrapperValve invoke 
SEVERE: Servlet.service() for servlet [Validation] in context with path [/ProjectName] threw exception 
javax.persistence.TransactionRequiredException: no transaction is in progress 
    at org.hibernate.internal.SessionImpl.checkTransactionNeeded(SessionImpl.java:3461) 
    at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1425) 
    at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1421) 
    at ProjectName.users.UserDao.getuserByUID(UserDao.java:112) 
    at ProjectName.users.Validation.doPost(Validation.java:69) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:475) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:625) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:498) 
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:796) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1372) 
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 

その後、これはインデックスページからフォームを取得するサーブレットです。

@Entity  
@Table 
@Id 
@Column 

編集:

package ProjectName.users; 

import java.io.IOException; 
import javax.servlet.ServletException; 
import javax.servlet.http.HttpServlet; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
public class Validation extends HttpServlet { 
private static final long serialVersionUID = 1L; 

/** 
* @see HttpServlet#HttpServlet() 
*/ 
public Validation() { 
    super(); 
    // TODO Auto-generated constructor stub 
} 

/** 
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    response.getWriter().append("Served at: ").append(request.getContextPath()); 
} 

/** 
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 
*/ 
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
    // TODO Auto-generated method stub 
    HttpSession session = request.getSession(); 
    String mode = request.getParameter("mode"); 
    UserDao u2 = new UserDao(); 
    String un=request.getParameter("username"); 
    String pw=request.getParameter("password"); 

    if(mode.equals("register")) 
    { 



     String pw2=request.getParameter("password2"); 
     if(!pw.equals(pw2)) 
     { 
      String alert = "PM"; //Password Mismatch 
      session.setAttribute("alert",alert); 
      response.sendRedirect("index.jsp"); 
     } 
     if(u2.getuserByID(un,pw)==null) 
     { 
      User u1 = new User(); 
      u1.setUser_name(un); 
      u1.setPassword(pw); 
      u2.addUser(u1); 
      session.setAttribute("username", un); 
      session.setAttribute("password",pw); 
      response.sendRedirect("Profile.jsp"); 
     } 

    } 
    else if(mode.equals("login")) 
    { 
     if(u2.getuserByUID(un)!=null) { 
      if(u2.getuserByID(un,pw)==null) { 
       String alert = "WP"; //Wrong password 
       session.setAttribute("alert",alert); 
       response.sendRedirect("index.jsp"); 
      } 
      else 
      { 
      session.setAttribute("username", un); 
      session.setAttribute("password",pw); 
      response.sendRedirect("Profile.jsp"); 
      } 
     } 
     else 
     { 
      String alert = "UU"; //Unregistered Username 
      session.setAttribute("alert",alert); 
      response.sendRedirect("index.jsp"); 
     } 

    } 
} 

} 
+0

がフル例外スタックトレースや質問自体に関連するすべての情報を投稿してください。外部リンクや画像を使用しないでください。 –

+0

スタックトレースとサーブレットクラスを追加しましたが、ハイバネート設定(JBoss Plugin)またはJavaクラスパスをテキストとして投稿できないと思います。まだ画像を埋め込むことはできません。 – awkwardcoder19

+0

実際の原因は不明ですが、例外メッセージの 'projectName.users.User'と実際のパッケージ名' ProjectName.users'を比較してください。パッケージは通常大文字と小文字が区別されます(プラットフォームによって異なる場合があります)。パッケージ名には小文字を使用してください(そして好ましくは名前空間の逆ドメイン名) –

答えて

関連する問題