Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Struts + Hibernate:@SessionTarget funktioniert nicht

Wenn Sie die Funktion Hibernate Session and Transaction Injection verwenden möchten, muss Ihr Aktionszuordnungspaket das Paket hibernate-default erweitern .

Weitere Details zu hibernate-default Paket

Das Plugin stellt ein Zuordnungspaket namens hibernate-default bereit . Und dies hat drei Abfangstapel, die für Injektionsfähigkeiten angegeben sind:

  • basicStackHibernate :Wie Struts2basickStack (KEINE Validierungen!), aber mit Hibernate-Sitzungs- und Transaktionsinjektionsfunktion.

  • defaultStackHibernate :Wie Struts2 defaultStack , aber ohne Struts2-Validierungsmethoden (Annotation und XML). Verwendet stattdessen das Hibernate Validation Framework.

  • defaultStackHibernateStrutsValidation :Struts2 defaultStack + basicStackHibernate des Plugins .

Dieses Paket erweitert den hibernate-default -Paket, sodass bei Bedarf alle standardmäßigen Struts2-Konfigurationen verwendet werden können.

hibernate-default Paket ist abstrakt, Sie können es also um andere erweitern. Zum Beispiel:

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

Um hibernate-default zu verwenden Verwenden Sie bei einer Anmerkungskonfiguration

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