|
Hibernate example source code file (events.po)
This example Hibernate source code file (events.po) is included in the DevDaily.com
"Java Source Code
Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.
The Hibernate events.po source code
# translation of Collection_Mapping.po to
# Xi Huang <xhuang@redhat.com>, 2006.
# Xi HUANG <xhuang@redhat.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: 2009-11-23 09:36+1000\n"
"Last-Translator: Xi HUANG <xhuang@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title
#, no-c-format
msgid "Interceptors and events"
msgstr "拦截器与事件(Interceptors and events)"
#. Tag: para
#, no-c-format
msgid ""
"It is useful for the application to react to certain events that occur "
"inside Hibernate. This allows for the implementation of generic "
"functionality and the extension of Hibernate functionality."
msgstr ""
"应用程åºèƒ½å¤Ÿå“应 Hibernate 内部产生的特定事件是éžå¸¸æœ‰ç”¨çš„ã€‚è¿™æ ·å°±å…许实现æŸäº›"
"通用的功能以åŠå…许对 Hibernate 功能进行扩展。"
#. Tag: title
#, no-c-format
msgid "Interceptors"
msgstr "拦截器(Interceptors)"
#. Tag: para
#, no-c-format
msgid ""
"The <literal>Interceptor interface provides callbacks from the "
"session to the application, allowing the application to inspect and/or "
"manipulate properties of a persistent object before it is saved, updated, "
"deleted or loaded. One possible use for this is to track auditing "
"information. For example, the following <literal>Interceptor "
"automatically sets the <literal>createTimestamp when an "
"<literal>Auditable is created and updates the "
"<literal>lastUpdateTimestamp property when an Auditable 接å£æ供了从会è¯ï¼ˆsession)回调(callback)应"
"用程åºï¼ˆapplication)的机制, è¿™ç§å›žè°ƒæœºåˆ¶å¯ä»¥å…许应用程åºåœ¨æŒä¹…化对象被ä¿"
"å˜ã€æ›´æ–°ã€åˆ é™¤æˆ–æ˜¯åŠ è½½ä¹‹å‰ï¼Œæ£€æŸ¥å¹¶ï¼ˆæˆ–)修改其 属性。一个å¯èƒ½çš„用途,就是用æ¥"
"è·Ÿè¸ªå®¡æ ¸ï¼ˆauditing)信æ¯ã€‚例如:下é¢çš„这个<literal>拦截器,会在一个"
"实现了 <literal>Auditable 接å£çš„对象被创建时自动地设置 "
"<literal>createTimestamp 属性,并在实现了 AuditablelastUpdateTimestamp "
"属性。 "
#. Tag: para
#, no-c-format
msgid ""
"You can either implement <literal>Interceptor directly or extend "
"<literal>EmptyInterceptor."
msgstr ""
"ä½ å¯ä»¥ç›´æŽ¥å®žçŽ° <literal>Interceptor 接å£ï¼Œä¹Ÿå¯ä»¥ï¼ˆæœ€å¥½ï¼‰ç»§æ‰¿è‡ª "
"<literal>EmptyInterceptor。 "
#. Tag: para
#, no-c-format
msgid ""
"There are two kinds of inteceptors: <literal>Session-scoped and "
"<literal>SessionFactory-scoped."
msgstr ""
"拦截器å¯ä»¥æœ‰ä¸¤ç§ï¼š<literal>Session 范围内的和 "
"<literal>SessionFactory 范围内的。"
#. Tag: para
#, no-c-format
msgid ""
"A <literal>Session-scoped interceptor is specified when a session "
"is opened using one of the overloaded SessionFactory.openSession() methods "
"accepting an <literal>Interceptor."
msgstr ""
"当使用æŸä¸ªé‡è½½çš„ SessionFactory.openSession() 使用 <literal>InterceptorSession-scoped interceptor is registered with "
"the <literal>Configuration object prior to building the "
"<literal>SessionFactory. Unless a session is opened explicitly "
"specifying the interceptor to use, the supplied interceptor will be applied "
"to all sessions opened from that <literal>SessionFactory. "
"<literal>SessionFactory-scoped interceptors must be thread safe. "
"Ensure that you do not store session-specific states, since multiple "
"sessions will use this interceptor potentially concurrently."
msgstr ""
"<literal>SessionFactory 范围内的拦截器è¦é€šè¿‡ "
"<literal>Configuration ä¸æ³¨å†Œï¼Œè€Œè¿™å¿…须在创建 "
"<literal>SessionFactory 之å‰ã€‚在这ç§æƒ…况下,给出的拦截器会被这个 "
"<literal>SessionFactory 所打开的所有 session ä½¿ç”¨äº†ï¼›é™¤éž session "
"打开时明确指明了使用的拦截器。<literal>SessionFactory 范围内的拦截"
"器,必须是线程安全的。确ä¿ä½ 没有ä¿å˜ session 专有的状æ€ï¼Œå› 为多个 session å¯"
"能并å‘使用这个拦截器。"
#. Tag: title
#, no-c-format
msgid "Event system"
msgstr "事件系统(Event system)"
#. Tag: para
#, no-c-format
msgid ""
"If you have to react to particular events in your persistence layer, you can "
"also use the Hibernate3 <emphasis>event architecture. The event "
"system can be used in addition, or as a replacement, for interceptors."
msgstr ""
"如果需è¦å“应æŒä¹…层的æŸäº›ç‰¹æ®Šäº‹ä»¶ï¼Œä½ 也å¯ä»¥ä½¿ç”¨ Hibernate3 的事件框架。该事件"
"系统å¯ä»¥ç”¨æ¥æ›¿ä»£æ‹¦æˆªå™¨ï¼Œä¹Ÿå¯ä»¥ä½œä¸ºæ‹¦æˆªå™¨çš„补充æ¥ä½¿ç”¨ã€‚ "
#. Tag: para
#, no-c-format
msgid ""
"All the methods of the <literal>Session interface correlate to an "
"event. You have a <literal>LoadEvent, a FlushEventorg."
"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 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 is processed by "
"the registered implementation of the <literal>LoadEventListener "
"interface), in which case their implementation would be responsible for "
"processing any <literal>load() requests made of the "
"<literal>Session."
msgstr ""
"基本上,<literal>Session 接å£çš„æ¯ä¸ªæ–¹æ³•éƒ½æœ‰ç›¸å¯¹åº”的事件。比如 "
"<literal>LoadEvent,FlushEvent,ç‰ç‰ï¼ˆæŸ¥é˜… XML "
"é…置文件的 DTDï¼Œä»¥åŠ <literal>org.hibernate.event 包æ¥èŽ·å¾—所有已定"
"义的事件的列表)。当æŸä¸ªæ–¹ 法被调用时,Hibernate <literal>Session会"
"生æˆä¸€ä¸ªç›¸å¯¹åº”的事件并激活所 有é…置好的事件监å¬å™¨ã€‚系统预设的监å¬å™¨å®žçŽ°çš„处ç†"
"过程就是被监å¬çš„方法è¦åšçš„(被监å¬çš„方法所åšçš„其实仅仅是激活监å¬å™¨ï¼Œâ€œå®žé™…â€çš„"
"工作是由监å¬å™¨å®Œæˆçš„)。ä¸è¿‡ï¼Œä½ å¯ä»¥è‡ªç”±åœ°é€‰æ‹©å®žçŽ° 一个自己定制的监å¬å™¨ï¼ˆæ¯”"
"如,实现并注册用æ¥å¤„ç†å¤„ç† <literal>LoadEvent çš„ "
"<literal>LoadEventListener 接å£ï¼‰ï¼Œ æ¥è´Ÿè´£å¤„ç†æ‰€æœ‰çš„调用 "
"<literal>Session 的 load() 方法的请求。"
#. Tag: para
#, no-c-format
msgid ""
"The listeners should be considered singletons. This means they are shared "
"between requests, and should not save any state as instance variables."
msgstr ""
"监å¬å™¨åº”该被看作是å•ä¾‹ï¼ˆsingleton)对象,也就是说,所有åŒç±»åž‹çš„事件的处ç†å…±äº«"
"åŒä¸€ä¸ªç›‘å¬å™¨å®žä¾‹ï¼Œå› æ¤ç›‘å¬å™¨ä¸åº”该ä¿å˜ä»»ä½•çŠ¶æ€ï¼ˆä¹Ÿå°±æ˜¯ä¸åº”该使用æˆå‘˜å˜é‡ï¼‰ã€‚"
#. Tag: para
#, no-c-format
msgid ""
"A custom listener implements 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 "
"object, or specified in the Hibernate configuration XML. Declarative "
"configuration through the properties file is not supported. Here is an "
"example of a custom load event listener:"
msgstr ""
"用户定制的监å¬å™¨åº”该实现与所è¦å¤„ç†çš„事件相对应的接å£ï¼Œæˆ–者从一个åˆé€‚的基类继"
"承(甚至是从 Hibernate 自带的默认事件监å¬å™¨ç±»ç»§æ‰¿ï¼Œä¸ºäº†æ–¹ä¾¿ä½ è¿™æ ·åšï¼Œè¿™äº›ç±»éƒ½"
"è¢«å£°æ˜Žæˆ non-final 的了)。用户定制的监å¬å™¨å¯ä»¥é€šè¿‡ç¼–程使用 "
"<literal>Configuration 对象 æ¥æ³¨å†Œï¼Œä¹Ÿå¯ä»¥åœ¨Hibernateçš„ XML æ ¼å¼çš„"
"é…置文件ä¸è¿›è¡Œå£°æ˜Žï¼ˆä¸æ”¯æŒåœ¨ Properties æ ¼å¼çš„é…置文件声明监å¬å™¨ï¼‰ã€‚下é¢æ˜¯ä¸€"
"ä¸ªç”¨æˆ·å®šåˆ¶çš„åŠ è½½äº‹ä»¶ï¼ˆload event)的监å¬å™¨ï¼š"
#. Tag: para
#, no-c-format
msgid ""
"You also need a configuration entry telling Hibernate to use the listener in "
"addition to the default listener:"
msgstr ""
"ä½ è¿˜éœ€è¦ä¿®æ”¹ä¸€å¤„é…置,æ¥å‘Šè¯‰ Hibernate,除了默认的监å¬å™¨ï¼Œè¿˜è¦é™„åŠ é€‰å®šçš„ç›‘å¬"
"器。"
#. Tag: para
#, no-c-format
msgid "Instead, you can register it programmatically:"
msgstr "æˆ–è€…ï¼Œä½ å¯ä»¥é€šè¿‡ç¼–程的方å¼æ¥æ³¨å†Œå®ƒï¼š"
#. Tag: para
#, no-c-format
msgid ""
"Listeners registered declaratively cannot share instances. If the same class "
"name is used in multiple <literal><listener/> elements, each "
"reference will result in a separate instance of that class. If you need to "
"share listener instances between listener types you must use the "
"programmatic registration approach."
msgstr ""
"通过在XMLé…置文件声明而注册的监å¬å™¨ä¸èƒ½å…±äº«å®žä¾‹ã€‚如果在多个 <literal><"
"listener/></literal> 节点ä¸ä½¿ç”¨ 了相åŒçš„类的åå—,则æ¯ä¸€ä¸ªå¼•ç”¨éƒ½å°†ä¼šäº§ç”Ÿä¸€"
"ä¸ªç‹¬ç«‹çš„å®žä¾‹ã€‚å¦‚æžœä½ éœ€è¦åœ¨å¤šä¸ªç›‘å¬å™¨ç±»åž‹ä¹‹é—´å…±äº« 监å¬å™¨çš„å®žä¾‹ï¼Œåˆ™ä½ å¿…é¡»ä½¿ç”¨ç¼–"
"程的方å¼æ¥è¿›è¡Œæ³¨å†Œã€‚ "
#. Tag: para
#, no-c-format
msgid ""
"Why implement an interface and define the specific type during "
"configuration? 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 ""
"为什么我们实现了特定监å¬å™¨çš„接å£ï¼Œåœ¨æ³¨å†Œçš„时候还è¦æ˜Žç¡®æŒ‡å‡ºæˆ‘们è¦æ³¨å†Œå“ªä¸ªäº‹ä»¶"
"的监å¬å™¨å‘¢ï¼Ÿ è¿™æ˜¯å› ä¸ºä¸€ä¸ªç±»å¯èƒ½å®žçŽ°å¤šä¸ªç›‘å¬å™¨çš„接å£ã€‚在注册的时候明确指定è¦ç›‘"
"å¬çš„事件,å¯ä»¥è®©å¯ç”¨æˆ–者ç¦ç”¨å¯¹æŸä¸ªäº‹ä»¶çš„监å¬çš„é…置工作简å•äº›ã€‚ "
#. Tag: title
#, no-c-format
msgid "Hibernate declarative security"
msgstr "Hibernate 的声明å¼å®‰å…¨æœºåˆ¶"
#. Tag: para
#, no-c-format
msgid ""
"Usually, declarative security in Hibernate applications is managed in a "
"session facade layer. Hibernate3 allows certain actions to be permissioned "
"via JACC, and authorized via JAAS. This is an optional functionality that is "
"built on top of the event architecture."
msgstr ""
"通常,Hibernate 应用程åºçš„声明å¼å®‰å…¨æœºåˆ¶ç”±ä¼šè¯å¤–观层(session facade)所管"
"ç†ã€‚现在,Hibernate3å…许æŸäº›ç‰¹å®šçš„行为由 JACC 进行许å¯ç®¡ç†ï¼Œç”± JAAS 进行授æƒ"
"管ç†ã€‚本功能是一个建立在事件框架之上的å¯é€‰çš„功能。 "
#. Tag: para
#, no-c-format
msgid ""
"First, you must configure the appropriate event listeners, to enable the use "
"of JAAS authorization."
msgstr ""
"é¦–å…ˆï¼Œä½ å¿…é¡»è¦é…置适当的事件监å¬å™¨ï¼ˆevent listener),æ¥æ¿€æ´»ä½¿ç”¨ JAAS 管ç†æŽˆ"
"æƒçš„功能。"
#. Tag: para
#, no-c-format
msgid ""
"Note that <literal><listener type=\"...\" class=\"...\"/> is "
"shorthand for <literal><event type=\"...\"><listener class=\"...\"/"
"></event></literal> when there is exactly one listener for a "
"particular event type."
msgstr ""
"注æ„,<literal><listener type=\"...\" class=\"...\"/> åªæ˜¯ "
"<literal><event type=\"...\"><listener class=\"...\"/></"
"event></literal> 的简写,对æ¯ä¸€ä¸ªäº‹ä»¶ç±»åž‹éƒ½å¿…é¡»ä¸¥æ ¼çš„æœ‰ä¸€ä¸ªç›‘å¬å™¨ä¸Žä¹‹å¯¹"
"应。 "
#. Tag: para
#, no-c-format
msgid ""
"Next, while still in <literal>hibernate.cfg.xml, bind the "
"permissions to roles:"
msgstr ""
"接下æ¥ï¼Œä»ç„¶åœ¨ <literal>hibernate.cfg.xml 文件ä¸ï¼Œç»‘定角色的æƒé™ï¼š "
#. Tag: para
#, no-c-format
msgid "The role names are the roles understood by your JACC provider."
msgstr "这些角色的åå—å°±æ˜¯ä½ çš„ JACC provider 所定义的角色的åå—。"
#~ msgid ""
#~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgstr ""
#~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgstr ""
#~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgid ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgstr ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgid ""
#~ "<![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 ""
#~ "<![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"
#~ "}]]>"
#~ msgid ""
#~ "<![CDATA["
#~ msgstr ""
#~ "<![CDATA["
#~ msgid ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgstr ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgid ""
#~ "<![CDATA["
#~ msgstr ""
#~ "<![CDATA["
#~ msgid ""
#~ "<![CDATA["
#~ msgstr ""
#~ "<![CDATA["
Other Hibernate examples (source code examples)
Here is a short list of links related to this Hibernate events.po source code file:
|