sql >> Base de Datos >  >> RDS >> Mysql

Struts + Hibernate:@SessionTarget no funciona

Si desea utilizar la capacidad de inyección de transacciones y sesiones de Hibernate, su paquete de mapeo de acciones debe extender el paquete hibernate-default .

Más detalles sobre hibernate-default paquete

El complemento proporciona un paquete de mapeo llamado hibernate-default . Y esto tiene tres pilas de interceptores indicadas para capacidades de inyección:

  • basicStackHibernate :Como Struts2basickStack (¡SIN validaciones!), pero con sesión de Hibernate y capacidad de inyecciones de transacciones.

  • defaultStackHibernate :Como Struts2 defaultStack , pero sin los métodos de validación de Struts2 (anotación y XML). En su lugar, utiliza el marco de validación de Hibernate.

  • defaultStackHibernateStrutsValidation :Struts2 defaultStack + basicStackHibernate del complemento .

Este paquete extiende el hibernate-default paquete, por lo que todas las configuraciones predeterminadas de Struts2 se pueden usar si lo necesita.

hibernate-default El paquete es abstracto, por lo que puede extenderlo con otro. Por ejemplo:

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

Para usar hibernate-default con un uso de configuración de anotación

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