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

📄 session_api.po

📁 hibernate-distribution-3.3.1.GA-dist.zip源码
💻 PO
📖 第 1 页 / 共 5 页
字号:
#. Tag: title#: session_api.xml:464#, no-c-formatmsgid "Criteria queries"msgstr "Requêtes Criteria"#. Tag: para#: session_api.xml:466#, no-c-formatmsgid """HQL is extremely powerful but some developers prefer to build queries ""dynamically, using an object-oriented API, rather than building query ""strings. Hibernate provides an intuitive <literal>Criteria</literal> query ""API for these cases:"msgstr """HQL est extrêmement puissant mais certains développeurs préfèrent construire ""des requêtes dynamiquement, en utilisant l'API orientée objet, plutôt que ""construire des chaînes de requêtes. Hibernate fournit une API intuitive de ""requête <literal>Criteria</literal> pour ces cas :"#. Tag: programlisting#: session_api.xml:472#, no-c-formatmsgid """<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n""crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n""crit.setMaxResults(10);\n""List cats = crit.list();]]>"msgstr ""#. Tag: para#: session_api.xml:474#, no-c-formatmsgid """The <literal>Criteria</literal> and the associated <literal>Example</""literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/"">."msgstr """Les APIs <literal>Criteria</literal> et <literal>Example</literal> associé ""sont traitées plus en détail dans <xref linkend=\"querycriteria\"/>."#. Tag: title#: session_api.xml:482#, no-c-formatmsgid "Queries in native SQL"msgstr "Requêtes en SQL natif"#. Tag: para#: session_api.xml:484#, no-c-formatmsgid """You may express a query in SQL, using <literal>createSQLQuery()</literal> ""and let Hibernate take care of the mapping from result sets to objects. Note ""that you may at any time call <literal>session.connection()</literal> and ""use the JDBC <literal>Connection</literal> directly. If you chose to use the ""Hibernate API, you must enclose SQL aliases in braces:"msgstr """Vous pouvez exprimer une requête en SQL, en utilisant <literal>createSQLQuery""()</literal> et laisser Hibernate s'occuper du mapping des résultats vers ""des objets. Notez que vous pouvez n'importe quand appeler <literal>session.""connection()</literal> et utiliser directement la <literal>Connection</""literal> JDBC. Si vous choisissez d'utiliser l'API Hibernate, vous devez ""mettre les alias SQL entre accolades :"#. Tag: programlisting#: session_api.xml:492#, no-c-formatmsgid """<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} ""WHERE ROWNUM<10\")\n""    .addEntity(\"cat\", Cat.class)\n"".list();]]>"msgstr ""#. Tag: programlisting#: session_api.xml:494#, no-c-formatmsgid """<![CDATA[List cats = session.createSQLQuery(\n""    \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n""           \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... \" ""+\n""    \"FROM CAT {cat} WHERE ROWNUM<10\")\n""    .addEntity(\"cat\", Cat.class)\n"".list()]]>"msgstr ""#. Tag: para#: session_api.xml:496#, no-c-formatmsgid """SQL queries may contain named and positional parameters, just like Hibernate ""queries. More information about native SQL queries in Hibernate can be found ""in <xref linkend=\"querysql\"/>."msgstr """Les requêtes SQL peuvent contenir des paramètres nommés et positionnels, ""comme des requêtes Hibernate. Plus d'informations à propos des requêtes SQL ""natives dans Hibernate peuvent être trouvées dans <xref linkend=\"querysql\"/"">."#. Tag: title#: session_api.xml:507#, no-c-formatmsgid "Modifying persistent objects"msgstr "Modifier des objets persistants"#. Tag: para#: session_api.xml:509#, no-c-formatmsgid """<emphasis>Transactional persistent instances</emphasis> (ie. objects loaded, ""saved, created or queried by the <literal>Session</literal>) may be ""manipulated by the application and any changes to persistent state will be ""persisted when the <literal>Session</literal> is <emphasis>flushed</""emphasis> (discussed later in this chapter). There is no need to call a ""particular method (like <literal>update()</literal>, which has a different ""purpose) to make your modifications persistent. So the most straightforward ""way to update the state of an object is to <literal>load()</literal> it, and ""then manipulate it directly, while the <literal>Session</literal> is open:"msgstr """Les <emphasis>instances persistantes transactionnelles</emphasis> (c'est-à-""dire des objets chargés, sauvegardés, créés ou requêtés par la ""<literal>Session</literal>) peuvent être manipulées par l'application et ""n'importe quel changement vers l'état persistant sera persisté lorsque la ""<literal>Session</literal> est <emphasis>\"flushée\"</emphasis> (traité plus ""tard dans ce chapitre). Il n'y a pas besoin d'appeler une méthode ""particulière (comme <literal>update()</literal>, qui a un but différent) ""pour rendre vos modifications persistantes. Donc la manière la plus directe ""de mettre à jour l'état d'un objet est de le charger avec <literal>load()</""literal>, et puis le manipuler directement, tant que la <literal>Session</""literal> est ouverte :"#. Tag: programlisting#: session_api.xml:520#, no-c-formatmsgid """<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long""(69) );\n""cat.setName(\"PK\");\n""sess.flush();  // changes to cat are automatically detected and persisted]]>"msgstr ""#. Tag: para#: session_api.xml:522#, no-c-formatmsgid """Sometimes this programming model is inefficient since it would require both ""an SQL <literal>SELECT</literal> (to load an object) and an SQL ""<literal>UPDATE</literal> (to persist its updated state) in the same ""session. Therefore Hibernate offers an alternate approach, using detached ""instances."msgstr """Parfois ce modèle de programmation est inefficace puisqu'il nécessiterait un ""<literal>SELECT</literal> SQL (pour charger l'objet) et un <literal>UPDATE</""literal> SQL (pour persister son état mis à jour) dans la même session. ""Aussi Hibernate offre une autre approche, en utilisant des instances ""détachées."#. Tag: emphasis#: session_api.xml:530#, fuzzy, no-c-formatmsgid """Note that Hibernate does not offer its own API for direct execution of ""<literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate ""is a <emphasis>state management</emphasis> service, you don't have to think ""in <emphasis>statements</emphasis> to use it. JDBC is a perfect API for ""executing SQL statements, you can get a JDBC <literal>Connection</literal> ""at any time by calling <literal>session.connection()</literal>. Furthermore, ""the notion of mass operations conflicts with object/relational mapping for ""online transaction processing-oriented applications. Future versions of ""Hibernate may however provide special mass operation functions. See <xref ""linkend=\"batch\"/> for some possible batch operation tricks."msgstr """Notez que Hibernate n'offre par sa propre API pour l'exécution directe ""d'expressions <placeholder-1/> ou <placeholder-2/>. Hibernate est un service ""de <placeholder-3/>, vous n'avez pas à penser aux <placeholder-4/> pour ""l'utiliser. JDBC est une API parfaite pour exécuter des expressions SQL, ""vous pouvez obtenir une <placeholder-5/> JDBC n'importe quand en appelant ""<placeholder-6/>. En outre, la notion d'opérations de masse entre en conflit ""avec le mapping objet/relationnel pour les applications orientées processus ""de transactions en ligne. Les futures versions d'Hibernate peuvent cependant ""fournir des fonctions d'opération de masse. Voir <xref linkend=\"batch\"/> ""pour les astuces possibles d'opérations groupées."#. Tag: title#: session_api.xml:545#, no-c-formatmsgid "Modifying detached objects"msgstr "Modifier des objets détachés"#. Tag: para#: session_api.xml:547#, no-c-formatmsgid """Many applications need to retrieve an object in one transaction, send it to ""the UI layer for manipulation, then save the changes in a new transaction. ""Applications that use this kind of approach in a high-concurrency ""environment usually use versioned data to ensure isolation for the \"long\" ""unit of work."msgstr """Beaucoup d'applications ont besoin de récupérer un objet dans une ""transaction, l'envoyer à la couche interfacée avec l'utilisateur pour les ""manipulations, puis sauvegarder les changements dans une nouvelle ""transaction. Les applications qui utilisent cette approche dans un ""environnement à haute concurrence utilisent généralement des données ""versionnées pour assurer l'isolation pour les \"longues\" unités de travail."#. Tag: para#: session_api.xml:554#, no-c-formatmsgid """Hibernate supports this model by providing for reattachment of detached ""instances using the <literal>Session.update()</literal> or <literal>Session.""merge()</literal> methods:"msgstr """Hibernate supporte ce modèle en permettant pour le réattachement d'instances ""détachées l'utilisation des méthodes <literal>Session.update()</literal> ou ""<literal>Session.merge()</literal> :"#. Tag: programlisting#: session_api.xml:560#, no-c-formatmsgid """<![CDATA[// in the first session\n""Cat cat = (Cat) firstSession.load(Cat.class, catId);\n""Cat potentialMate = new Cat();\n""firstSession.save(potentialMate);\n""\n""// in a higher layer of the application\n""cat.setMate(potentialMate);\n""\n""// later, in a new session\n""secondSession.update(cat);  // update cat\n""secondSession.update(mate); // update mate]]>"msgstr ""#. Tag: para#: session_api.xml:562#, no-c-formatmsgid """If the <literal>Cat</literal> with identifier <literal>catId</literal> had ""already been loaded by <literal>secondSession</literal> when the application ""tried to reattach it, an exception would have been thrown."msgstr """Si le <literal>Cat</literal> avec l'identifiant <literal>catId</literal> ""avait déjà été chargé par <literal>secondSession</literal> lorsque ""l'application a essayé de le réattacher, une exception aurait été levée."#. Tag: para#: session_api.xml:568#, no-c-formatmsgid """Use <literal>update()</literal> if you are sure that the session does not ""contain an already persistent instance with the same identifier, and ""<literal>merge()</literal> if you want to merge your modifications at any ""time without consideration of the state of the session. In other words, ""<literal>update()</literal> is usually the first method you would call in a ""fresh session, ensuring that reattachment of your detached instances is the ""first operation that is executed."msgstr """Utilisez <literal>update()</literal> si vous êtes sure que la session ne ""contient pas déjà une instance persistante avec le même identifiant, et ""<literal>merge()</literal> si vous voulez fusionner vos modifications ""n'importe quand sans considérer l'état de la session. En d'autres mots, ""<literal>update()</literal> est généralement la première méthode que vous ""devriez appeler dans une session fraîche, pour s'assurer que le ""réattachement de vos instances détachées est la première opération qui est ""exécutée."#. Tag: para#: session_api.xml:577#, no-c-formatmsgid """The application should individually <literal>update()</literal> detached ""instances reachable from the given detached instance if and <emphasis>only</""emphasis> if it wants their state also updated. This can be automated of ""course, using <emphasis>transitive persistence</emphasis>, see <xref linkend=""\"objectstate-transitive\"/>."msgstr """L'application devrait individuellement <literal>update()</literal> (NdT : ""mettre à jour) les instances détachées accessibles depuis l'instance ""détachée donnée si et <emphasis>seulement</emphasis> si elle veut que leur ""état soit aussi mis à jour. Ceci peut être automatisé bien sûr, en utilisant ""la <emphasis>persistance transitive</emphasis>, voir <xref linkend=""\"objectstate-transitive\"/>."#. Tag: para#: session_api.xml:584#, no-c-formatmsgid """The <literal>lock()</literal> method also allows an application to ""reassociate an object with a new session. However, the detached instance has ""to be unmodified!"msgstr """La méthode <literal>lock()</literal> permet aussi à une application de ""réassocier un objet avec une nouvelle session. Pourtant, l'instance détachée ""doit être non modifiée !"#. Tag: programlisting#: session_api.xml:589#, no-c-formatmsgid """<![CDATA[//just reassociate:\n""sess.lock(fritz, LockMode.NONE);\n""//do a version check, then reassociate:\n""sess.lock(izi, LockMode.READ);\n""//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n""sess.lock(pk, LockMode.UPGRADE);]]>"msgstr ""#. Tag: para#: session_api.xml:591#, no-c-formatmsgid """Note that <literal>lock()</literal> can be used with various ""<literal>LockMode</literal>s, see the API documentation and the chapter on ""transaction handling for more information. Reattachment is not the only ""usecase for <literal>lock()</literal>."msgstr """Notez que <literal>lock()</literal> peut être utilisé avec différents ""<literal>LockMode</literal>s, voir la documentation de l'API documentation ""et le chapitre sur la gestion des transactions pour plus d'informations. Le ""réattachement n'est pas le seul cas d'utilisation pour <literal>lock()</""literal>."#. Tag: para#: session_api.xml:598#, no-c-formatmsgid """Other models for long units of work are discussed in <xref linkend=""\"transactions-optimistic\"/>."msgstr """D'autres modèles pour de longues unités de travail sont traités dans <xref ""linkend=\"transactions-optimistic\"/>."#. Tag: title#: session_api.xml:605#, no-c-formatmsgid "Automatic state detection"msgstr "Détection automatique d'un état"#. Tag: para

⌨️ 快捷键说明

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