Mysql
 sql >> Database >  >> RDS >> Mysql

Struts + Hibernate:@SessionTarget non funziona

Se desideri utilizzare la funzionalità Hibernate Session e Transaction injection, il tuo pacchetto di mappatura delle azioni deve estendere il pacchetto hibernate-default .

Maggiori dettagli su hibernate-default pacchetto

Il plugin fornisce un pacchetto di mappatura chiamato hibernate-default . E questo ha tre stack di intercettori indicati per le capacità di iniezione:

  • basicStackHibernate :Come Struts2basickStack (NESSUNA convalida!), ma con funzionalità di sessione di sospensione e iniezioni di transazioni.

  • defaultStackHibernate :Come Struts2 defaultStack , ma senza metodi di convalida Struts2 (annotazione e XML). Utilizza invece il framework di convalida dell'ibernazione.

  • defaultStackHibernateStrutsValidation :Struts2 defaultStack + basicStackHibernate del plugin .

Questo pacchetto estende il hibernate-default pacchetto, quindi tutte le configurazioni Struts2 predefinite possono essere utilizzate se necessario.

hibernate-default il pacchetto è astratto, quindi puoi estenderlo con altri. Ad esempio:

<package name="default" extends="hibernate-default,json-default" >

Per utilizzare hibernate-default con una configurazione di annotazione utilizzare

@ParentPackage("hibernate-default")
@InterceptorRef("basicStackHibernate")
public class YourAction extends ActionSupport {}