alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Hibernate example source code file (filters.po)

This example Hibernate source code file (filters.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.

Java - Hibernate tags/keywords

a, cdata, cdata, department, employee, filter, filter, hibernate, hibernate, my_filtered_column, tag, tag, the, this

The Hibernate filters.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-07-20 21:02+0000\n"
"PO-Revision-Date: 2009-11-27 13:53+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
#: filters.xml:31
#, no-c-format
msgid "Filtering data"
msgstr "过滤数据"

#. Tag: para
#: filters.xml:33
#, no-c-format
msgid ""
"Hibernate3 provides an innovative new approach to handling data with "
"\"visibility\" rules. A <emphasis>Hibernate filter is a global, "
"named, parameterized filter that can be enabled or disabled for a particular "
"Hibernate session."
msgstr ""
"Hibernate3 提供了一种创新的方式来处理具有“显性(visibility)”规则的数据,那就"
"是使用<emphasis>Hibernate 过滤器。Hibernate 过滤器@org.hibernate.annotations.FilterDefsname() and an "
"array of parameters(). A parameter will allow you to adjust the behavior of "
"the filter at runtime. Each parameter is defined by a <literal>@ParamDef parameter for a given "
"<literal>@FilterDef to set the default condition to use when none "
"are defined in each individual <literal>@Filter. "
"<literal>@FilterDef(s) can be defined at the class or package "
"level."
msgstr ""

#. Tag: para
#: filters.xml:63
#, no-c-format
msgid ""
"We now need to define the SQL filter clause applied to either the entity "
"load or the collection load. <literal>@Filter is used and placed "
"either on the entity or the collection element. The connection between "
"<classname>@FilterName and @Filter is a "
"matching name."
msgstr ""

#. Tag: title
#: filters.xml:70
#, no-c-format
msgid "@FilterDef and @Filter annotations"
msgstr ""

#. Tag: programlisting
#: filters.xml:72
#, no-c-format
msgid ""
"@Entity\n"
"@FilterDef(name=\"minLength\", parameters=@ParamDef( name=\"minLength\", "
"type=\"integer\" ) )\n"
"@Filters( {\n"
"    @Filter(name=\"betweenLength\", condition=\":minLength <= length and :"
"maxLength >= length\"),\n"
"    @Filter(name=\"minLength\", condition=\":minLength <= length\")\n"
"} )\n"
"public class Forest { ... }"
msgstr ""

#. Tag: para
#: filters.xml:75
#, no-c-format
msgid ""
"When the collection use an association table as a relational representation, "
"you might want to apply the filter condition to the association table itself "
"or to the target entity table. To apply the constraint on the target entity, "
"use the regular <literal>@Filter annotation. However, if you want "
"to target the association table, use the <literal>@FilterJoinTable "
"annotation."
msgstr ""

#. Tag: title
#: filters.xml:84
#, no-c-format
msgid ""
"Using <classname>@FilterJoinTable for filterting on the "
"association table"
msgstr ""

#. Tag: programlisting
#: filters.xml:87
#, no-c-format
msgid ""
"@OneToMany\n"
"    @JoinTable\n"
"    //filter on the target entity table\n"
"    @Filter(name=\"betweenLength\", condition=\":minLength <= length and :"
"maxLength >= length\")\n"
"    //filter on the association table\n"
"    @FilterJoinTable(name=\"security\", condition=\":userlevel >= "
"requredLevel\")\n"
"    public Set<Forest> getForests() { ... }"
msgstr ""

#. Tag: para
#: filters.xml:90
#, fuzzy, no-c-format
msgid ""
"Using Hibernate mapping files for defining filters the situtation is very "
"similar. The filters must first be defined and then attached to the "
"appropriate mapping elements. To define a filter, use the <literal><"
"filter-def/></literal> element within a <hibernate-mapping/"
"></literal> element:"
msgstr ""
"要使用过滤器,必须首先在相应的映射节点中定义。而定义一个过滤器,要用到位于 "
"<literal><hibernate-mapping/> 节点之内的 <filter-"
"def/></literal> 节点:"

#. Tag: title
#: filters.xml:97
#, no-c-format
msgid "Defining a filter definition via <literal><filter-def>"
msgstr ""

#. Tag: programlisting
#: filters.xml:100
#, fuzzy, no-c-format
msgid ""
"<filter-def name=\"myFilter\">\n"
"    <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
"</filter-def>"
msgstr ""
"<![CDATA["

#. Tag: para
#: filters.xml:103
#, fuzzy, no-c-format
msgid ""
"This filter can then be attached to a class or collection (or, to both or "
"multiples of each at the same time):"
msgstr "或者在同时可以使用多个过滤器。"

#. Tag: title
#: filters.xml:107
#, no-c-format
msgid ""
"Attaching a filter to a class or collection using <literal><filter> are: enableFilter(String "
"filterName)</literal>, getEnabledFilter(String filterName)disableFilter(String filterName). By "
"default, filters are <emphasis>not enabled for a given session. "
"Filters must be enabled through use of the <literal>Session.enableFilter()Filter "
"interface. If you used the simple filter defined above, it would look like "
"this:"
msgstr ""
"<literal>Session 对象中会用到的方法有:enableFilter"
"(String filterName)</literal>,getEnabledFilter(String filterName)disableFilter(String filterName)。Session 中"
"默认是<emphasis>不启用过滤器的,必须通过 Session."
"enabledFilter()</literal> 方法显式的启用。该方法返回被启用的 "
"<literal>Filter 的实例。以上文定义的过滤器为例:"

#. Tag: programlisting
#: filters.xml:123
#, fuzzy, no-c-format
msgid ""
"session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", \"some-"
"value\");"
msgstr ""
"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
"\"some-value\");]]>"

#. Tag: para
#: filters.xml:125
#, no-c-format
msgid ""
"Methods on the org.hibernate.Filter interface do allow the method-chaining "
"common to much of Hibernate."
msgstr ""
"注意,org.hibernate.Filter 的方法允许链式方法调用。(类似上面例子中启用 "
"Filter 之后设定 Filter 参数这个“方法链”) Hibernate 的其他部分也大多有这个特"
"性。 "

#. Tag: para
#: filters.xml:128
#, no-c-format
msgid ""
"The following is a full example, using temporal data with an effective "
"record date pattern:"
msgstr "下面是一个比较完整的例子,使用了记录生效日期模式过滤有时效的数据: "

#. Tag: programlisting
#: filters.xml:131
#, fuzzy, no-c-format
msgid ""
"<filter-def name=\"effectiveDate\">\n"
"    <filter-param name=\"asOfDate\" type=\"date\"/>\n"
"</filter-def>\n"
"\n"
"<class name=\"Employee\" ...>\n"
"...\n"
"    <many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
"\"/>\n"
"    <property name=\"effectiveStartDate\" type=\"date\" column="
"\"eff_start_dt\"/>\n"
"    <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
"\"/>\n"
"...\n"
"    <!--\n"
"        Note that this assumes non-terminal records have an eff_end_dt set "
"to\n"
"        a max db date for simplicity-sake\n"
"    -->\n"
"    <filter name=\"effectiveDate\"\n"
"            condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
">\n"
"</class>\n"
"\n"
"<class name=\"Department\" ...>\n"
"...\n"
"    <set name=\"employees\" lazy=\"true\">\n"
"        <key column=\"dept_id\"/>\n"
"        <one-to-many class=\"Employee\"/>\n"
"        <filter name=\"effectiveDate\"\n"
"                condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
">\n"
"    </set>\n"
"</class>"
msgstr ""
"<![CDATA["

#. Tag: para
#: filters.xml:133
#, no-c-format
msgid ""
"In order to ensure that you are provided with currently effective records, "
"enable the filter on the session prior to retrieving employee data:"
msgstr ""
"定义好后,如果想要保证取回的都是目前处于生效期的记录,只需在获取雇员数据的操"
"作之前先开启过滤器即可: "

#. Tag: programlisting
#: filters.xml:137
#, fuzzy, no-c-format
msgid ""
"Session session = ...;\n"
"session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary > :"
"targetSalary\")\n"
"         .setLong(\"targetSalary\", new Long(1000000))\n"
"         .list();"
msgstr ""
"<![CDATA[Session session = ...;\n"
"session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary > :"
"targetSalary\")\n"
"         .setLong(\"targetSalary\", new Long(1000000))\n"
"         .list();\n"
"]]>"

#. Tag: para
#: filters.xml:139
#, no-c-format
msgid ""
"Even though a salary constraint was mentioned explicitly on the results in "
"the above HQL, because of the enabled filter, the query will return only "
"currently active employees who have a salary greater than one million "
"dollars."
msgstr ""
"在上面的 HQL 中,虽然我们仅仅显式的使用了一个薪水条件,但因为启用了过滤器,查"
"询将仅返回那些目前雇用关系处于生效期的,并且薪水高于一百万美元的雇员的数据。 "

#. Tag: para
#: filters.xml:144
#, no-c-format
msgid ""
"If you want to use filters with outer joining, either through HQL or load "
"fetching, be careful of the direction of the condition expression. It is "
"safest to set this up for left outer joining. Place the parameter first "
"followed by the column name(s) after the operator."
msgstr ""
"注意:如果你打算在使用外连接(或者通过 HQL 或 load fetching)的同时使用过滤"
"器,要注意条件表达式的方向(左还是右)。最安全的方式是使用左外连接(left "
"outer joining)。并且通常来说,先写参数,然后是操作符,最后写数据库字段名。"

#. Tag: para
#: filters.xml:149
#, no-c-format
msgid ""
"After being defined, a filter might be attached to multiple entities and/or "
"collections each with its own condition. This can be problematic when the "
"conditions are the same each time. Using <literal><filter-def/>...]]>"

#. Tag: para
#: filters.xml:157
#, no-c-format
msgid ""
"This default condition will be used whenever the filter is attached to "
"something without specifying a condition. This means you can give a specific "
"condition as part of the attachment of the filter that overrides the default "
"condition in that particular case."
msgstr ""
"当这个 filter 被附加到任何目的地,而又没有指明条件时,这个缺省条件就会被使"
"用。注意,换句话说,你可以通过给 filter 附加特别的条件来重载默认条件。"

#~ msgid "This filter can then be attached to a class:"
#~ msgstr "定义好之后,就可以在某个类中使用这个过滤器: "

#~ msgid "Or, to a collection:"
#~ msgstr "或者也可以在某个集合使用它:"

#~ 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 filters.po source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.