📄 query_sql.po
字号:
" </return>\n"" { ? = call selectAllEmployments() }\n""</sql-query>]]>"msgstr ""#. Tag: para#: query_sql.xml:441#, no-c-formatmsgid """Notice stored procedures currently only return scalars and entities. ""<literal><return-join></literal> and <literal><load-collection></""literal> are not supported."msgstr """내장 프로시저들은 현재 스칼라들과 엔티티들 만을 반환함을 주목하라. ""<literal><return-join></literal>과 <literal><load-collection></""literal>은 지원되지 않는다."#. Tag: title#: query_sql.xml:446#, no-c-formatmsgid "Rules/limitations for using stored procedures"msgstr "내장 프로시저들을 사용하는 규칙들/제약들"#. Tag: para#: query_sql.xml:448#, no-c-formatmsgid """To use stored procedures with Hibernate the procedures/functions have to ""follow some rules. If they do not follow those rules they are not usable ""with Hibernate. If you still want to use these procedures you have to ""execute them via <literal>session.connection()</literal>. The rules are ""different for each database, since database vendors have different stored ""procedure semantics/syntax."msgstr """Hibernate에서 내장 프로시저들을 사용하기 위해서 프로시저들/함수들은 다음 몇""몇 규칙들을 따라야 한다. 만일 그것들이 그들 규칙들을 따르지 않을 경우 그것들""은 Hibernate와 함께 사용 불가능하다. 만일 당신이 여전히 이들 프로시저들을 사""용하고자 원할 경우, 당신은 <literal>session.connection()</literal>을 통해 그""것들을 실행시켜야 한다. 데이터베이스 벤더들이 다른 내장 프로시저 의미론/구문""을 갖고 있기 때문에, 규칙들은 각각의 데이터베이스에 따라 차이가 난다."#. Tag: para#: query_sql.xml:455#, no-c-formatmsgid """Stored procedure queries can't be paged with <literal>setFirstResult()/""setMaxResults()</literal>."msgstr """내장 프로시저 질의들은 <literal>setFirstResult()/setMaxResults()</literal>로""서 쪽매김 될 수 없다."#. Tag: para#: query_sql.xml:458#, no-c-formatmsgid """Recommended call form is standard SQL92: <literal>{ ? = call functionName""(<parameters>) }</literal> or <literal>{ ? = call procedureName(<""parameters>}</literal>. Native call syntax is not supported."msgstr """권장되는 호출 형식은 표준 SQL92이다: <literal>{ ? = call functionName(<""parameters>) }</literal> 또는 <literal>{ ? = call procedureName(<""parameters>}</literal>. Native 호출 구문은 지원되지 않는다."#. Tag: para#: query_sql.xml:463#, no-c-formatmsgid "For Oracle the following rules apply:"msgstr "Oracle의 경우 다음 규칙들이 적용된다:"#. Tag: para#: query_sql.xml:467#, no-c-formatmsgid """A function must return a result set. The first parameter of a procedure must ""be an <literal>OUT</literal> that returns a result set. This is done by ""using a <literal>SYS_REFCURSOR</literal> type in Oracle 9 or 10. In Oracle ""you need to define a <literal>REF CURSOR</literal> type, see Oracle ""literature."msgstr """하나의 함수는 하나의 결과 셋을 반환해야 한다. 프로시저의 첫 번째 파라미터는 ""하나의 결과 셋을 반환하는 하나의 <literal>OUT</literal>이어야 한다. 이것은 ""Oracle 9 또는 10에서 하나의 <literal>SYS_REFCURSOR</literal>를 사용하여 행해""진다. Oracle에서 당신은 <literal>REF CURSOR</literal> 타입을 정의할 필요가 있""는데, Oracle 보고서를 보라."#. Tag: para#: query_sql.xml:476#, no-c-formatmsgid "For Sybase or MS SQL server the following rules apply:"msgstr "Sybase 또는 MS SQL server의 경우 다음 규칙들이 적용된다:"#. Tag: para#: query_sql.xml:480#, no-c-formatmsgid """The procedure must return a result set. Note that since these servers can/""will return multiple result sets and update counts, Hibernate will iterate ""the results and take the first result that is a result set as its return ""value. Everything else will be discarded."msgstr """프로시저는 한 개의 결과 셋을 반환해야 한다. 이들 서버들이 여러 개의 결과셋들""과 업데이트 카운트들을 반환 할수 있다/할 것이이므로, Hibernate는 결과들을 반""복 순환할 것이고 그것의 반환 값으로서 하나의 결과 셋인 첫 번째 결과를 취할 것""이다. 그 밖의 모든 것은 폐기될 것이다."#. Tag: para#: query_sql.xml:488#, no-c-formatmsgid """If you can enable <literal>SET NOCOUNT ON</literal> in your procedure it ""will probably be more efficient, but this is not a requirement."msgstr """만일 당신이 당신의 프로시저 내에 <literal>SET NOCOUNT ON</literal>을 이용 가""능하게 할 수 있다면 그것은 아마 보다 효율적이게 될 것이지만 이것은 필요 조건""이 아니다."#. Tag: title#: query_sql.xml:498#, no-c-formatmsgid "Custom SQL for create, update and delete"msgstr "create, update 그리고 delete를 위한 맞춤형 SQL"#. Tag: para#: query_sql.xml:500#, no-c-formatmsgid """Hibernate3 can use custom SQL statements for create, update, and delete ""operations. The class and collection persisters in Hibernate already contain ""a set of configuration time generated strings (insertsql, deletesql, ""updatesql etc.). The mapping tags <literal><sql-insert></literal>, ""<literal><sql-delete></literal>, and <literal><sql-update></""literal> override these strings:"msgstr """Hibernate3는 create, update, delete 오퍼레이션들을 위한 맞춤형 문장들을 사용""할 수 있다. Hibernate에서 클래스와 콜렉션 영속자들은 구성 시에 생성된 문자열""들의 집합(insertsql, deletesql, updatesql 등)을 이미 포함하고 있다. ""<literal><sql-insert></literal>, <literal><sql-delete></""literal>, <literal><sql-update></literal> 매핑 태그들은 이들 문자열들""을 오버라이드 시킨다:"#. Tag: programlisting#: query_sql.xml:508#, no-c-formatmsgid """<![CDATA[<class name=\"Person\">\n"" <id name=\"id\">\n"" <generator class=\"increment\"/>\n"" </id>\n"" <property name=\"name\" not-null=\"true\"/>\n"" <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-""insert>\n"" <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>\n"" <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n""</class>]]>"msgstr ""#. Tag: para#: query_sql.xml:510#, no-c-formatmsgid """The SQL is directly executed in your database, so you are free to use any ""dialect you like. This will of course reduce the portability of your mapping ""if you use database specific SQL."msgstr """SQL이 당신의 데이터베이스 내에서 직접 실행되어서, 당신이 좋아하는 임의의 ""dialect를 사용하는 것이 자유롭다. 만일 당신이 데이터베이스 지정적인 SQL을 사""용할 경우 이것은 물론 당신의 매핑의 이식성을 감소시킬 것이다."#. Tag: para#: query_sql.xml:514#, no-c-formatmsgid """Stored procedures are supported if the <literal>callable</literal> attribute ""is set:"msgstr """만일 <literal>callable</literal> 속성이 설정되면 내장 프로시저들이 지원된다:"#. Tag: programlisting#: query_sql.xml:517#, no-c-formatmsgid """<![CDATA[<class name=\"Person\">\n"" <id name=\"id\">\n"" <generator class=\"increment\"/>\n"" </id>\n"" <property name=\"name\" not-null=\"true\"/>\n"" <sql-insert callable=\"true\">{call createPerson (?, ?)}</sql-insert>\n"" <sql-delete callable=\"true\">{? = call deletePerson (?)}</sql-delete>\n"" <sql-update callable=\"true\">{? = call updatePerson (?, ?)}</sql-""update>\n""</class>]]>"msgstr ""#. Tag: para#: query_sql.xml:519#, no-c-formatmsgid """The order of the positional parameters are currently vital, as they must be ""in the same sequence as Hibernate expects them."msgstr """위치 파라미터들은 Hibernate가 그것들을 기대하는 것과 같은 순서가 되어야 하므""로, 위치 파라미터들의 순서는 현재 절대적으로 중요하다."#. Tag: para#: query_sql.xml:522#, no-c-formatmsgid """You can see the expected order by enabling debug logging for the ""<literal>org.hibernate.persister.entity</literal> level. With this level ""enabled Hibernate will print out the static SQL that is used to create, ""update, delete etc. entities. (To see the expected sequence, remember to not ""include your custom SQL in the mapping files as that will override the ""Hibernate generated static sql.)"msgstr """당신은 <literal>org.hiberate.persister.entity</literal> 레벨로 디버그 로깅을 ""사용 가능하게 함으로써 예상된 순서를 볼 수 있다. 이 레벨을 이용 가능하게 하""면 Hibernate는 엔티티들을 생성시키고, 업데이트하고, 삭제하는데 사용되는 정적""인 SQL을 출력할 것이다. (예상되는 결과를 보려면, Hibernate 생성된 정적인 sql""을 오버라이드 시키게 매핑 파일들 속에 당신의 맞춤형 SQL을 포함시키지 않도록 ""염두에 두라.)"#. Tag: para#: query_sql.xml:529#, no-c-formatmsgid """The stored procedures are in most cases (read: better do it than not) ""required to return the number of rows inserted/updated/deleted, as Hibernate ""has some runtime checks for the success of the statement. Hibernate always ""registers the first statement parameter as a numeric output parameter for ""the CUD operations:"msgstr """Hibernate가 문장의 성공을 위해 몇몇 실행 시 체크들을 행하므로, 내장 프로시저""들은 대부분의 경우들(읽기:다른 경우들 보다 그것을 더 잘 행한다)에서 insert되""고/업데이트되고/삭제된 행들의 개수를 반환하는데 필요하다. Hibernate는 항상 ""CUD 오퍼레이션들에 대한 숫자 출력 파라미터로서 첫 번째 문장 파라미터를 등록시""킨다:"#. Tag: programlisting#: query_sql.xml:535#, no-c-formatmsgid """<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN ""VARCHAR2)\n"" RETURN NUMBER IS\n""BEGIN\n""\n"" update PERSON\n"" set\n"" NAME = uname,\n"" where\n"" ID = uid;\n""\n"" return SQL%ROWCOUNT;\n""\n""END updatePerson;]]>"msgstr ""#. Tag: title#: query_sql.xml:539#, no-c-formatmsgid "Custom SQL for loading"msgstr "로딩을 위한 맞춤형 SQL"#. Tag: para#: query_sql.xml:541#, no-c-formatmsgid "You may also declare your own SQL (or HQL) queries for entity loading:"msgstr """당신은 또한 엔티티 로딩을 위한 당신 자신의 SQL (또는 HQL)을 선언할 수도 있다:"#. Tag: programlisting#: query_sql.xml:544#, no-c-formatmsgid """<![CDATA[<sql-query name=\"person\">\n"" <return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/>\n"" SELECT NAME AS {pers.name}, ID AS {pers.id}\n"" FROM PERSON\n"" WHERE ID=?\n"" FOR UPDATE\n""</sql-query>]]>"msgstr ""#. Tag: para#: query_sql.xml:546#, no-c-formatmsgid """This is just a named query declaration, as discussed earlier. You may ""reference this named query in a class mapping:"msgstr """이것은 앞서 논의했듯이 단지 명명된 질의 선언이다. 당신은 class 매핑 속에 이 ""명명된 질의를 참조할 수 있다:"#. Tag: programlisting#: query_sql.xml:549#, no-c-formatmsgid """<![CDATA[<class name=\"Person\">\n"" <id name=\"id\">\n"" <generator class=\"increment\"/>\n"" </id>\n"" <property name=\"name\" not-null=\"true\"/>\n"" <loader query-ref=\"person\"/>\n""</class>]]>"msgstr ""#. Tag: para#: query_sql.xml:551#, no-c-formatmsgid "This even works with stored procedures."msgstr "이것은 심지어 내장 프로시저들에 동작한다."#. Tag: para#: query_sql.xml:553#, no-c-formatmsgid "You may even define a query for collection loading:"msgstr "당신은 콜렉션 로딩을 위한 한 개의 질의를 정의할 수도 있다:"#. Tag: programlisting#: query_sql.xml:555#, no-c-formatmsgid """<![CDATA[<set name=\"employments\" inverse=\"true\">\n"" <key/>\n"" <one-to-many class=\"Employment\"/>\n"" <loader query-ref=\"employments\"/>\n""</set>]]>"msgstr ""#. Tag: programlisting#: query_sql.xml:557#, no-c-formatmsgid """<![CDATA[<sql-query name=\"employments\">\n"" <load-collection alias=\"emp\" role=\"Person.employments\"/>\n"" SELECT {emp.*}\n"" FROM EMPLOYMENT emp\n"" WHERE EMPLOYER = :id\n"" ORDER BY STARTDATE ASC, EMPLOYEE ASC\n""</sql-query>]]>"msgstr ""#. Tag: para#: query_sql.xml:559#, no-c-formatmsgid """You could even define an entity loader that loads a collection by join ""fetching:"msgstr """당신은 심지어 조인 페칭에 의해 하나의 콜렉션을 로드시키는 하나의 엔티티를 정""의할 수 있다:"#. Tag: programlisting#: query_sql.xml:562#, no-c-formatmsgid """<![CDATA[<sql-query name=\"person\">\n"" <return alias=\"pers\" class=\"Person\"/>\n"" <return-join alias=\"emp\" property=\"pers.employments\"/>\n"" SELECT NAME AS {pers.*}, {emp.*}\n"" FROM PERSON pers\n"" LEFT OUTER JOIN EMPLOYMENT emp\n"" ON pers.ID = emp.PERSON_ID\n"" WHERE ID=?\n""</sql-query>]]>"msgstr ""
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -