Mysql
 sql >> Base de données >  >> RDS >> Mysql

Struts + Hibernate :@SessionTarget ne fonctionne pas

Si vous souhaitez utiliser la capacité d'injection de session et de transaction Hibernate, votre package de mappage d'action doit étendre le package hibernate-default .

Plus de détails sur hibernate-default paquet

Le plugin fournit un package de mappage appelé hibernate-default . Et cela a trois piles d'intercepteurs indiquées pour les capacités d'injection :

  • basicStackHibernate :Comme Struts2basickStack (PAS de validation !), mais avec la capacité d'injection de sessions et de transactions Hibernate.

  • defaultStackHibernate :Comme Struts2 defaultStack , mais sans les méthodes de validation Struts2 (annotation et XML). Utilise le cadre de validation Hibernate à la place.

  • defaultStackHibernateStrutsValidation :Struts2 defaultStack + plugin basicStackHibernate .

Ce paquet étend le hibernate-default afin que toutes les configurations Struts2 par défaut puissent être utilisées si vous en avez besoin.

hibernate-default package est abstrait, vous pouvez donc l'étendre avec other. Par exemple :

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

Pour utiliser hibernate-default avec une configuration d'annotation, utilisez

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