Olá a todos,
Seguinte estou tentado colocar pra rodar um sistema que faz a geração das tabelas na minha aplicação, mas num rola de jeito nenhum, é uma aplicação Web, o pior é que estou fazendo baseado em uma aplicação desktop que funciona, vejam:
Classe para geração da base de dados
package lagg.util.banco;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import lagg.beans.Aluno;
import lagg.beans.Frequencia;
import lagg.beans.Usuario;
import org.hibernate.tool.hbm2ddl.SchemaUpdate;
public class GeraDB {
private AnnotationConfiguration cfg = new AnnotationConfiguration();
public GeraDB(){
}
public void Exporta(){
AnnotationConfiguration cfg = new AnnotationConfiguration();
cfg.addAnnotatedClass(lagg.beans.Aluno.class);
cfg.addAnnotatedClass(lagg.beans.Frequencia.class);
cfg.addAnnotatedClass(lagg.beans.Usuario.class);
cfg.setProperty( "hibernate.dialect", "org.hibernate.dialect.PostgreSQLDialect" );
cfg.setProperty( "hibernate.connection.driver_class", "org.postgresql.Driver" );
cfg.setProperty( "hibernate.connection.url", "jdbc:postgresql:struts" );
cfg.setProperty( "hibernate.connection.username", "postgres" );
cfg.setProperty( "hibernate.connection.password", "kamikaze" );
cfg.setProperty( "hibernate.connection.autocommit", "true" );
cfg.setProperty( "hibernate.connection.show_sql", "true");
SchemaExport export = new SchemaExport(cfg);
export.create(true,true);
}
}
Agora a minha action
package lagg.actions;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import lagg.util.banco.GeraDB;
public class exportaDB extends Action {
public ActionForward execute (ActionMapping map,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response
) throws Exception {
GeraDB gerador = new GeraDB();
try{
gerador.Exporta();
} catch (Exception e){
return map.findForward("erro");
}
return map.findForward("sucesso");
}
}
E vejam os erros:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
root cause
java.lang.NoSuchMethodError: org.hibernate.cfg.Mappings.<init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/List;Ljava/util/List;Lorg/hibernate/cfg/NamingStrategy;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
org.hibernate.cfg.ExtendedMappings.<init>(ExtendedMappings.java:42)
org.hibernate.cfg.AnnotationConfiguration.createExtendedMappings(AnnotationConfiguration.java:72)
org.hibernate.cfg.AnnotationConfiguration.addAnnotatedClass(AnnotationConfiguration.java:44)
lagg.util.banco.GeraDB.Exporta(GeraDB.java:18)
lagg.actions.exportaDB.execute(exportaDB.java:22)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.7 logs.
Se alguém puder dar uma ajuda.
Valeu,
Paulo Henrique
