Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Struts + Hibernate:@SessionTarget não está funcionando


Se você quiser usar o recurso de injeção de sessão e transação do Hibernate, seu pacote de mapeamento de ação precisa estender o pacote hibernate-default .

Mais detalhes sobre hibernate-default pacote

O plugin fornece um pacote de mapeamento chamado hibernate-default . E isso tem três pilhas de interceptores indicadas para recursos de injeção:

  • basicStackHibernate :Como o Struts2basickStack (SEM validações!), mas com capacidade de injeções de sessão e transação do Hibernate.

  • defaultStackHibernate :Como Struts2 defaultStack , mas sem os métodos de validação do Struts2 (anotação e XML). Em vez disso, usa a estrutura de validação do Hibernate.

  • defaultStackHibernateStrutsValidation :Struts2 defaultStack + do plugin basicStackHibernate .

Este pacote estende o hibernate-default pacote, então todas as configurações padrão do Struts2 podem ser usadas se você precisar.

hibernate-default package é abstrato, então você pode estender isso com outros. Por exemplo:
<package name="default" extends="hibernate-default,json-default" >

Para usar hibernate-default com um uso de configuração de anotação
@ParentPackage("hibernate-default")
@InterceptorRef("basicStackHibernate")
public class YourAction extends ActionSupport {}