ciao a tutti... AIUTO:::
ragazzi, ho gravi problemi con la mia prima applicazione web dove provo ad usare struts2 + hibernate
.- ho una classe Manager dove ho il metodo che mi restituisce tutti i dati di una tabella, tale metodo l'ho testato tante volte e tutto funziona. Adesso che provo a richiamarlo da un'altra classe Controller che estende ActionSupport (Struts2) mi becco il seguente stack di errore:
javax.servlet.ServletException
org.apache.struts2.dispatcher.Dispatcher.serviceAc tion(Dispatcher.java:515)
org.apache.struts2.dispatcher.FilterDispatcher.doF ilter(FilterDispatcher.java:419)
root cause
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
com.opensymphony.xwork2.DefaultActionInvocation.in vokeAction(DefaultActionInvocation.java:404)
com.opensymphony.xwork2.DefaultActionInvocation.in vokeActionOnly(DefaultActionInvocation.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.in voke(DefaultActionInvocation.java:229)
com.opensymphony.xwork2.interceptor.DefaultWorkflo wInterceptor.doIntercept(DefaultWorkflowIntercepto r.java:221)
com.opensymphony.xwork2.interceptor.MethodFilterIn terceptor.intercept(MethodFilterInterceptor.java:8 6)
com.opensymphony.xwork2.DefaultActionInvocation$2. doProfiling(DefaultActionInvocation.java:224)
com.opensymphony.xwork2.DefaultActionInvocation$2. doProfiling
....
ho provato a cambiare tutte le impostazione del mio hibernate.cfg.xml dove ci sono le proprietà per collegarmi al mio db su MySQL, ma non cambia nulla.
Penso sia un problema della classe FilterDispatcher quando gira su Tomcat 5.5
cosa ne pensate?
adesso vi allego i sorgenti della mia classe manager,controller,tabella e il cfg.xml
//controller
package actions;
import com.opensymphony.xwork2.ActionSupport;
import manager.HibernateServices;
import manager.TabellaAManager;
import java.util.ArrayList;
import java.util.List;
public class TabellaAController extends ActionSupport {
private List lista;
public List getLista() {
return lista;
}
public void setLista(List lista) {
this.lista = lista;
}
public String getListaAll() throws Exception {
ArrayListcomodo = new ArrayList();
comodo = (ArrayList)TabellaAManager.getTabellaA();
lista = comodo;
return SUCCESS;
}
}
//manager
package manager;
import model.TabellaA;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import java.util.ArrayList;
import java.util.List;
public class TabellaAManager {
public static List getTabellaA() throws HibernateException {
Session ss = HibernateServices.getHibernateSession();
Transaction tt = null ;
List<TabellaA> listi = null;
try {
tt = ss.beginTransaction();
listi = ss.createQuery("from TabellaA as tab").list();
tt.commit();
return listi;
} finally {
ss.close();
}
}
//model
public class TabellaA implements Serializable{
private Long id;
private String codice;
private String descrizione;
public String getCodice() {
return codice;
}
public void setCodice(String codice) {
this.codice = codice;
}
public String getDescrizione() {
return descrizione;
}
public void setDescrizione(String descrizione) {
this.descrizione = descrizione;
}
public Long getId() {
return id;
}
private void setId(Long id) {
this.id = id;
}
}
//hibernatecfg.xml
<hibernate-configuration>
<session-factory>
<property name="connection.useUnicode">true</property>
<property name="connection.characterEncoding">UTF-8</property>
<property name="hibernate.connection.driver_class">com.mysql .jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydb</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">database</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="current_session_context_class">thread</property>
<property name="transaction.factory_class">org.hibernate.tra nsaction.JDBCTransactionFactory</property>
<mapping resource="prgT001.hbm.xml"/>
</session-factory>
</hibernate-configuration>
pensate vi sia comodo anche il codice per ricuperare la sessione hibernate?
AIUTOOOO.
Grazie!

Rispondi quotando