⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 events.po

📁 hibernate 开源框架的代码 jar包希望大家能喜欢
💻 PO
📖 第 1 页 / 共 2 页
字号:
"correlate to an event. You have a <literal>LoadEvent</literal>, a ""<literal>FlushEvent</literal>, etc (consult the XML configuration-file DTD ""or the <literal>org.hibernate.event</literal> package for the full list of ""defined event types). When a request is made of one of these methods, the ""Hibernate <literal>Session</literal> generates an appropriate event and ""passes it to the configured event listeners for that type. Out-of-the-box, ""these listeners implement the same processing in which those methods always ""resulted. However, you are free to implement a customization of one of the ""listener interfaces (i.e., the <literal>LoadEvent</literal> is processed by ""the registered implemenation of the <literal>LoadEventListener</literal> ""interface), in which case their implementation would be responsible for ""processing any <literal>load()</literal> requests made of the ""<literal>Session</literal>."msgstr """Essentiellement toutes les méthodes de l'interface <literal>Session</""literal> sont corrélées à un événement. Vous avez un <literal>LoadEvent</""literal>, un <literal>FlushEvent</literal>, etc (consultez la DTD du fichier ""de configuration XML ou le paquet <literal>org.hibernate.event</literal> ""pour avoir la liste complète des types d'événement définis). Quand une ""requête est faite à partir d'une de ces méthodes, la <literal>Session</""literal> Hibernate génère un événement approprié et le passe au listener ""configuré pour ce type. Par défaut, ces listeners implémentent le même ""traitement dans lequel ces méthodes aboutissent toujours. Cependant, vous ""êtes libre d'implémenter une version personnalisée d'une de ces interfaces ""de listener (c'est-à-dire, le <literal>LoadEvent</literal> est traité par ""l'implémentation de l'interface <literal>LoadEventListener</literal> ""déclarée), dans quel cas leur implémentation devrait être responsable du ""traitement des requêtes <literal>load()</literal> faites par la ""<literal>Session</literal>."#. Tag: para#: events.xml:84#, no-c-formatmsgid """The listeners should be considered effectively singletons; meaning, they are ""shared between requests, and thus should not save any state as instance ""variables."msgstr """Les listeners devraient effectivement être considérés comme des singletons ; ""dans le sens où ils sont partagés entre des requêtes, et donc ne devraient ""pas sauvegarder des états de variables d'instance."#. Tag: para#: events.xml:89#, no-c-formatmsgid """A custom listener should implement the appropriate interface for the event ""it wants to process and/or extend one of the convenience base classes (or ""even the default event listeners used by Hibernate out-of-the-box as these ""are declared non-final for this purpose). Custom listeners can either be ""registered programmatically through the <literal>Configuration</literal> ""object, or specified in the Hibernate configuration XML (declarative ""configuration through the properties file is not supported). Here's an ""example of a custom load event listener:"msgstr """Un listener personnalisé devrait implémenter l'interface appropriée pour ""l'événement qu'il veut traiter et/ou étendre une des classes de base (ou ""même l'événement prêt à l'emploi utilisé par Hibernate comme ceux déclarés ""non-finaux à cette intention). Les listeners personnalisés peuvent être soit ""inscrits par programmation à travers l'objet <literal>Configuration</""literal>, ou spécifiés la configuration XML d'Hibernate (la configuration ""déclarative à travers le fichier de propriétés n'est pas supportée). Voici ""un exemple de listener personnalisé pour l'événement de chargement :"#. Tag: programlisting#: events.xml:99#, no-c-formatmsgid """<![CDATA[public class MyLoadListener implements LoadEventListener {\n""    // this is the single method defined by the LoadEventListener interface\n""    public void onLoad(LoadEvent event, LoadEventListener.LoadType ""loadType)\n""            throws HibernateException {\n""        if ( !MySecurity.isAuthorized( event.getEntityClassName(), event.""getEntityId() ) ) {\n""            throw MySecurityException(\"Unauthorized access\");\n""        }\n""    }\n""}]]>"msgstr ""#. Tag: para#: events.xml:101#, no-c-formatmsgid """You also need a configuration entry telling Hibernate to use the listener in ""addition to the default listener:"msgstr """Vous avez aussi besoin d'une entrée de configuration disant à Hibernate ""d'utiliser ce listener en plus du listener par défaut :"#. Tag: programlisting#: events.xml:106#, no-c-formatmsgid """<![CDATA[<hibernate-configuration>\n""    <session-factory>\n""        ...\n""        <event type=\"load\">\n""            <listener class=\"com.eg.MyLoadListener\"/>\n""            <listener class=\"org.hibernate.event.def.""DefaultLoadEventListener\"/>\n""        </event>\n""    </session-factory>\n""</hibernate-configuration>]]>"msgstr ""#. Tag: para#: events.xml:108#, no-c-formatmsgid "Instead, you may register it programmatically:"msgstr "Vous pouvez aussi l'inscrire par programmation :"#. Tag: programlisting#: events.xml:112#, no-c-formatmsgid """<![CDATA[Configuration cfg = new Configuration();\n""LoadEventListener[] stack = { new MyLoadListener(), new ""DefaultLoadEventListener() };\n""cfg.EventListeners().setLoadEventListeners(stack);]]>"msgstr ""#. Tag: para#: events.xml:114#, no-c-formatmsgid """Listeners registered declaratively cannot share instances. If the same class ""name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each ""reference will result in a separate instance of that class. If you need the ""capability to share listener instances between listener types you must use ""the programmatic registration approach."msgstr """Les listeners inscrits déclarativement ne peuvent pas partager d'instances. ""Si le même nom de classe est utilisée dans plusieurs éléments <literal>&lt;""listener/&gt;</literal>, chaque référence sera une instance distincte de ""cette classe. Si vous avez besoin de la faculté de partager des instances de ""listener entre plusieurs types de listener, vous devez utiliser l'approche ""d'inscription par programmation."#. Tag: para#: events.xml:122#, no-c-formatmsgid """Why implement an interface and define the specific type during ""configuration? Well, a listener implementation could implement multiple ""event listener interfaces. Having the type additionally defined during ""registration makes it easier to turn custom listeners on or off during ""configuration."msgstr """Pourquoi implémenter une interface et définir le type spécifique durant la ""configuration ? Une implémentation de listener pourrait implémenter ""plusieurs interfaces de listener d'événements. Avoir en plus le type défini ""durant l'inscription rend plus facile l'activation ou la désactivation ""pendant la configuration."#. Tag: title#: events.xml:132#, no-c-formatmsgid "Hibernate declarative security"msgstr "Sécurité déclarative d'Hibernate"#. Tag: para#: events.xml:133#, no-c-formatmsgid """Usually, declarative security in Hibernate applications is managed in a ""session facade layer. Now, Hibernate3 allows certain actions to be ""permissioned via JACC, and authorized via JAAS. This is optional ""functionality built on top of the event architecture."msgstr """Généralement, la sécurité déclarative dans les applications Hibernate est ""gérée dans la couche de session. Maintenant, Hibernate3 permet à certaines ""actions d'être approuvées via JACC, et autorisées via JAAS. Cette ""fonctionnalité optionnelle est construite au dessus de l'architecture ""d'événements."#. Tag: para#: events.xml:139#, no-c-formatmsgid """First, you must configure the appropriate event listeners, to enable the use ""of JAAS authorization."msgstr """D'abord, vous devez configurer les listeners d'événements appropriés pour ""permettre l'utilisation d'autorisations JAAS."#. Tag: programlisting#: events.xml:144#, no-c-formatmsgid """<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure.""JACCPreDeleteEventListener\"/>\n""<listener type=\"pre-update\" class=\"org.hibernate.secure.""JACCPreUpdateEventListener\"/>\n""<listener type=\"pre-insert\" class=\"org.hibernate.secure.""JACCPreInsertEventListener\"/>\n""<listener type=\"pre-load\" class=\"org.hibernate.secure.""JACCPreLoadEventListener\"/>]]>"msgstr ""#. Tag: para#: events.xml:146#, no-c-formatmsgid """Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is ""just a shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=""\"...\"/&gt;&lt;/event&gt;</literal> when there is exactly one listener for ""a particular event type."msgstr """Notez que <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> ""est juste un raccourci pour <literal>&lt;event type=\"...\"&gt;&lt;listener ""class=\"...\"/&gt;&lt;/event&gt;</literal> quand il y a exactement un ""listener pour un type d'événement particulier."#. Tag: para#: events.xml:152#, no-c-formatmsgid """Next, still in <literal>hibernate.cfg.xml</literal>, bind the permissions to ""roles:"msgstr """Ensuite, toujours dans <literal>hibernate.cfg.xml</literal>, lier les ""permissions aux rôles :"#. Tag: programlisting#: events.xml:156#, no-c-formatmsgid """<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,""read\"/>\n""<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"msgstr ""#. Tag: para#: events.xml:158#, no-c-formatmsgid "The role names are the roles understood by your JACC provider."msgstr "Les noms de rôle sont les rôles compris par votre fournisseur JAAC."

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -