1.hibernate xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
    <class name="com.citi.apollo.fmk.model.PvTrs" table="PVTRS" schema="GCD"
     dynamic-insert="true" dynamic-update="true" select-before-update="true">
     <cache usage="nonstrict-read-write" />
        <id name="pvtrsid" type="integer">
            <column name="PVTRSID" precision="22" scale="0" />
            <generator class="assigned"></generator>
        </id>
        <version name="version" type="integer">
            <column name="VERSION" precision="22" scale="0" not-null="true" />
        </version>
        <property name="portfoliocusip" type="string">
            <column name="PORTFOLIOCUSIP" length="32" unique="true" />
        </property>
        <property name="trstype" type="string">
            <column name="TRSTYPE" length="64" />
        </property>
        <property name="trsname" type="string">
            <column name="TRSNAME" />
        </property>
        <property name="trsdesc" type="string">
            <column name="TRSDESC" />
        </property>
        <property name="trusteename" type="string">
            <column name="TRUSTEENAME" length="128" />
        </property>
        <property name="manager" type="string">
            <column name="MANAGER" length="128" />
        </property>
        <property name="bankspv" type="string">
            <column name="BANKSPV" length="128" />
        </property>
        <property name="corpspv" type="string">
            <column name="CORPSPV" length="128" />
        </property>
        <property name="minbalancepct" type="double">
            <column name="MINBALANCEPCT" precision="25" scale="6" />
        </property>
        <property name="minbalance" type="double">
            <column name="MINBALANCE" precision="25" scale="6" />
        </property>
        <property name="maxbalance" type="double">
            <column name="MAXBALANCE" precision="25" scale="6" />
        </property>
        <property name="haircut" type="double">
            <column name="HAIRCUT" precision="13" scale="6" />
        </property>
        <property name="fundingspread" type="double">
            <column name="FUNDINGSPREAD" precision="13" scale="6" />
        </property>
        <property name="financespread" type="double">
            <column name="FINANCESPREAD" precision="13" scale="6" />
        </property>
        <property name="hedgeratio" type="double">
            <column name="HEDGERATIO" precision="13" scale="6" />
        </property>
        <property name="startdate" type="date">
            <column name="STARTDATE" length="11" />
        </property>
        <property name="enddate" type="date">
            <column name="ENDDATE" length="11" />
        </property>
        <property name="rampupdate" type="date">
            <column name="RAMPUPDATE" length="11" />
        </property>
        <property name="rampdowndate" type="date">
            <column name="RAMPDOWNDATE" length="11" />
        </property>
        <property name="gkstartdate" type="date">
            <column name="GKSTARTDATE" length="11" />
        </property>
        <property name="gkenddate" type="date">
            <column name="GKENDDATE" length="11" />
        </property>
        <property name="gkfrontstubdate" type="date">
            <column name="GKFRONTSTUBDATE" length="11" />
        </property>
        <property name="gkbackstubdate" type="date">
            <column name="GKBACKSTUBDATE" length="11" />
        </property>
        <property name="paymentfrequency" type="integer">
            <column name="PAYMENTFREQUENCY" precision="22" scale="0" />
        </property>
        <property name="paymentschedule" type="string">
            <column name="PAYMENTSCHEDULE" length="128" />
        </property>
        <property name="trsstatus" type="string">
            <column name="TRSSTATUS" length="32" />
        </property>
        <property name="portfoliotype" type="string">
            <column name="PORTFOLIOTYPE" length="32" />
        </property>
        <property name="liquidationtype" type="string">
            <column name="LIQUIDATIONTYPE" length="32" />
        </property>
        <property name="comments" type="string">
            <column name="COMMENTS" length="255" />
        </property>
        <property name="feepvflag" type="string">
            <column name="FEEPVFLAG" length="1" />
        </property>
        <property name="eodfeepv" type="double">
            <column name="EODFEEPV" precision="25" scale="6" />
        </property>
         <property name="currperiodstartdate" type="date">
            <column name="CURRPERIODSTARTDATE" length="11"  />
        </property>
        <property name="currperiodeffectivestartdate" type="date">
            <column name="CURRPERIODEFFECTIVESTARTDATE" length="11"  />
        </property>
        <property name="recordstatus" type="string">
            <column name="RECORDSTATUS" length="8" not-null="true" />
        </property>
        <property name="createdby" type="string">
            <column name="CREATEDBY" length="32" not-null="true" />
        </property>
        <property name="creationdate" type="timestamp">
            <column name="CREATIONDATE" length="11" not-null="true" />
        </property>
        <property name="modifiedby" type="string">
            <column name="MODIFIEDBY" length="32" not-null="true" />
        </property>
        <property name="modificationdate" type="timestamp">
            <column name="MODIFICATIONDATE" length="11" not-null="true" />
        </property>
        <set name="pvtrslimits" inverse="true"
      cascade="all,delete-orphan" lazy="false" batch-size="10">
      <cache usage="nonstrict-read-write" />
            <key>
                <column name="PTRSID" precision="22" scale="0" not-null="true" />
            </key>
            <one-to-many class="com.citi.apollo.fmk.model.PtrsLimit" not-found="ignore" />
        </set>
        <set name="pvtrsschedules" inverse="true"
      cascade="all,delete-orphan" lazy="false" batch-size="10">
      <cache usage="nonstrict-read-write" />
            <key>
                <column name="PVTRSID" precision="22" scale="0" not-null="true" />
            </key>
            <one-to-many class="com.citi.apollo.fmk.model.PvTrsSchedule" not-found="ignore" />
        </set>
        <set name="pvtrsschedulesExt" inverse="true"
      cascade="all,delete-orphan" lazy="false" batch-size="10">
      <cache usage="nonstrict-read-write" />
            <key>
                <column name="PTRSID" precision="22" scale="0" not-null="true" />
            </key>
            <one-to-many class="com.citi.apollo.fmk.model.PvTrsScheduleExt" not-found="ignore" />
        </set>
       
        <property name="currency" type="string">
            <column name="CURRENCY" length="3" />
        </property>
        <property name="collateralCode" type="string">
            <column name="COLLATERALTYPE" length="1" />
        </property>
        <property name="ratingHierarchyCode" type="string">
            <column name="RATINGTYPE" length="1" />
        </property>
        <property name="variationMarginIndicator" type="string">
            <column name="VARIATIONMARGINFLAG" length="1" />
        </property>               
        <property name="paymentDelay" type="integer">
            <column name="PAYMENTDELAY" precision="8" scale="0" />
        </property>
        <property name="calendarCodes" type="string">
            <column name="CALENDARCODES" length="4000" />
        </property>               
        <property name="ratingAgencyId" type="integer">
            <column name="RATINGAGENCYID" precision="8" scale="0" />
        </property>
        <property name="industry_ratingAgencyId" type="integer">
            <column name="INDUSTRY_RATINGAGENCYID" precision="8" scale="0" />
        </property>
        <property name="allowECOIndustryIndicator" type="string">
            <column name="ALLOWEXCESSCONCINDUSTRY" length="1" />
        </property>               
        <property name="allowECOObligorIndicator" type="string">
            <column name="ALLOWEXCESSCONCOBLIGOR" length="1" />
        </property>
        <property name="masterMnemonic" type="string">
            <column name="MASTERMNEMONIC" length="32" />
        </property>
        <property name="notionalForLimitCalc" type="string">
            <column name="NOTIONALFORLIMITCALC" length="1" />
        </property>
        <property name="paymentStartDate" type="date">
            <column name="PAYMENTSTARTDATE" length="11" />
        </property>
        <property name="actualEndDate" type="date">
            <column name="ACTUALENDDATE" length="11" />
        </property>
        <property name="unsettledIndependentAmtFlag" type="string">
            <column name="UNSETTLEDINDEPENDENTAMTFLAG" length="1" />
        </property>
        <property name="collateralAgreement" type="string">
            <column name="COLLATERAL_AGREEMENT" length="32" />
        </property>
        <property name="strategy" type="string">
            <column name="STRATEGY" length="32" />
        </property>
        <property name="collateralTrigger" type="string">
            <column name="COLLATERAL_TRIGGER" length="1" />
        </property>
 <!--<property name="trsportfoliotypeNumber" type="string">
            <column name="TRSPORTFOLIOTYPE" length="32" />
 </property>-->
        <property name="trsportfoliotype" type="string">
            <column name="TRSPORTFOLIOTYPE" />
        </property>
        <property name="linkedportfolioid" type="integer">
            <column name="LINKEDPORTFOLIOID" precision="8" scale="0" />
        </property>
 <property name="currentNotional" 
     formula="(SELECT SUM(A.NOTIONALAMOUNT) FROM PTRSPOSITION A, PTRSFACILITYATTRIBUTES E WHERE A.PTRSID = PVTRSID AND A.PTRSID = E.PTRSID AND A.LOANFACILITYID = E.LOANFACILITYID AND ROUND(A.COMMITMENTAMOUNT) > 1 )"
     update="false"   insert="false" type="double">
 </property>
 <property name="currentCommitment" 
     formula="(SELECT SUM(A.COMMITMENTAMOUNT) FROM PTRSPOSITION A, PTRSFACILITYATTRIBUTES E WHERE A.PTRSID = PVTRSID AND A.PTRSID = E.PTRSID AND A.LOANFACILITYID = E.LOANFACILITYID AND ROUND(A.COMMITMENTAMOUNT) > 1 )"
     update="false"   insert="false" type="double">
 </property>
 <!--<query name="com.citi.apollo.fmk.persistence.PvTrsTradeDAO.selectShortSeq">
  select PVTRSID from GCD.PVTRS
 </query>-->
  <property name="annexFileName" type="string">
            <column name="ANNEXFILENAME" />
        </property>
     <property name="tradingStrategy" type="string">
            <column name="TRADINGSTRATEGY" />
        </property>
     </class>
</hibernate-mapping>

2. query service

SwapTrade exampleTrade = new SwapTrade();
   exampleTrade.setPvtrs(swapTrade.getPvtrs());
   exampleTrade.setLoanfacility(swapTrade.getLoanfacility());

Collection<SwapTrade> trades = null;
  try {
   trades = swapTradeDAO.findByExample(trade);
  } catch (Exception e) {
   log.error("Exception retrieving Trades with Example - "+trade, e);
   throw new ApolloException(e);
  }

3. hibernate sql

Hibernate:
    select
        this_.SWAPTRADEID as SWAPTRAD1_26_3_,
        this_.VERSION as VERSION26_3_,
        this_.LOANTRADEID as LOANTRAD3_26_3_,
        this_.LOANFACILITYID as LOANFACI4_26_3_,
        this_.PTRSID as PTRSID26_3_,
        this_.LQTTRADEID as LQTTRADEID26_3_,
        this_.LQTVERSION as LQTVERSION26_3_,
        this_.LQTTICKETID as LQTTICKE8_26_3_,
        this_.TRADESIDE as TRADESIDE26_3_,
        this_.QUANTITY as QUANTITY26_3_,
        this_.TOTALQUANTITY as TOTALQU11_26_3_,
        this_.PRICE as PRICE26_3_,
        this_.LEGALVEHICLE as LEGALVE13_26_3_,
        this_.DESKCD as DESKCD26_3_,
        this_.STRATEGYCD as STRATEGYCD26_3_,
        this_.FIRMACCOUNTCD as FIRMACC16_26_3_,
        this_.COUNTERPARTYCD as COUNTER17_26_3_,
        this_.COUNTERPARTY as COUNTER18_26_3_,
        this_.TRADECCY as TRADECCY26_3_,
        this_.SETTLECCY as SETTLECCY26_3_,
        this_.TRADEDATE as TRADEDATE26_3_,
        this_.SETTLEDATE as SETTLEDATE26_3_,
        this_.FACILITYTERMS as FACILIT23_26_3_,
        this_.OTHERTERMS as OTHERTERMS26_3_,
        this_.COMMENTS as COMMENTS26_3_,
        this_.TRADEACTION as TRADEAC26_26_3_,
        this_.TRADESTATE as TRADESTATE26_3_,
        this_.TRADESTATUS as TRADEST28_26_3_,
        this_.HAIRCUT as HAIRCUT26_3_,
        this_.SWAPSPREAD as SWAPSPREAD26_3_,
        this_.SROFLAG as SROFLAG26_3_,
        this_.PRIMARYTFLAG as PRIMARY32_26_3_,
        this_.USERSPECIFIED as USERSPE33_26_3_,
        this_.RECORDSTATUS as RECORDS34_26_3_,
        this_.CREATEDBY as CREATEDBY26_3_,
        this_.CREATIONDATE as CREATIO36_26_3_,
        this_.MODIFIEDBY as MODIFIEDBY26_3_,
        this_.MODIFICATIONDATE as MODIFIC38_26_3_,
        this_.POSITIONID as POSITIONID26_3_,
        this_.SROBONDFLAG as SROBOND40_26_3_,
        this_.GROUPNUM as GROUPNUM26_3_,
        this_.TRADETYPE as TRADETYPE26_3_,
        this_.GROUPEDTICKETS as GROUPED43_26_3_,
        loanfacili2_.LOANFACILITYID as LOANFACI1_1_0_,
        loanfacili2_.VERSION as VERSION1_0_,
        loanfacili2_.LOANDEALID as LOANDEALID1_0_,
        loanfacili2_.LDRFACILITYID as LDRFACIL4_1_0_,
        loanfacili2_.LDRVERSION as LDRVERSION1_0_,
        loanfacili2_.LDRDEALID as LDRDEALID1_0_,
        loanfacili2_.SNPCUSIP as SNPCUSIP1_0_,
        loanfacili2_.LOANXID as LOANXID1_0_,
        loanfacili2_.LPCID as LPCID1_0_,
        loanfacili2_.MOODYSID as MOODYSID1_0_,
        loanfacili2_.FACILITYCUSIP as FACILIT11_1_0_,
        loanfacili2_.FACILITYTYPE as FACILIT12_1_0_,
        loanfacili2_.FACILITYNAME as FACILIT13_1_0_,
        loanfacili2_.FACILITYDESC as FACILIT14_1_0_,
        loanfacili2_.FACILITYSTATUS as FACILIT15_1_0_,
        loanfacili2_.LSTATYPE as LSTATYPE1_0_,
        loanfacili2_.GLOBALSIZE as GLOBALSIZE1_0_,
        loanfacili2_.ORIGGLOBALSIZE as ORIGGLO18_1_0_,
        loanfacili2_.GLOBALCCY as GLOBALCCY1_0_,
        loanfacili2_.FUNDEDFLAG as FUNDEDFLAG1_0_,
        loanfacili2_.FUNDEDAMOUNT as FUNDEDA21_1_0_,
        loanfacili2_.UNFUNDEDAMOUNT as UNFUNDE22_1_0_,
        loanfacili2_.DRAWDOWNLIMIT as DRAWDOW23_1_0_,
        loanfacili2_.CRAGREEMENTDATE as CRAGREE24_1_0_,
        loanfacili2_.ISSUEDATE as ISSUEDATE1_0_,
        loanfacili2_.MATURITYDATE as MATURIT26_1_0_,
        loanfacili2_.FIXEDRATEFLAG as FIXEDRA27_1_0_,
        loanfacili2_.BASERATECATEGORY as BASERAT28_1_0_,
        loanfacili2_.BASERATE as BASERATE1_0_,
        loanfacili2_.SPREAD as SPREAD1_0_,
        loanfacili2_.ALLINRATE as ALLINRATE1_0_,
        loanfacili2_.LASTRATERESETDATE as LASTRAT32_1_0_,
        loanfacili2_.COUPONFREQUENCY as COUPONF33_1_0_,
        loanfacili2_.RATERESETFREQUENCY as RATERES34_1_0_,
        loanfacili2_.DAYCOUNT as DAYCOUNT1_0_,
        loanfacili2_.REPAYMENTSENIORITY as REPAYME36_1_0_,
        loanfacili2_.SECUREDFLAG as SECURED37_1_0_,
        loanfacili2_.LIENSENIORITY as LIENSEN38_1_0_,
        loanfacili2_.PRORATAFLAG as PRORATA39_1_0_,
        loanfacili2_.MINBORROWAMOUNT as MINBORR40_1_0_,
        loanfacili2_.INCRBORROWAMOUNT as INCRBOR41_1_0_,
        loanfacili2_.PREPAYMENTOPTIONFLAG as PREPAYM42_1_0_,
        loanfacili2_.AMORTIZATIONFLAG as AMORTIZ43_1_0_,
        loanfacili2_.EVERGREENREVOLVERFLAG as EVERGRE44_1_0_,
        loanfacili2_.TERMOUTREVOLVERCONVFLAG as TERMOUT45_1_0_,
        loanfacili2_.TERMOUTREVOLVERCONVDATE as TERMOUT46_1_0_,
        loanfacili2_.PAYMENTINKINDFLAG as PAYMENT47_1_0_,
        loanfacili2_.CITIRATING as CITIRATING1_0_,
        loanfacili2_.SNPRATING as SNPRATING1_0_,
        loanfacili2_.MOODYRATING as MOODYRA50_1_0_,
        loanfacili2_.FITCHRATING as FITCHRA51_1_0_,
        loanfacili2_.DUPLICATECUSIP as DUPLICA52_1_0_,
        loanfacili2_.FUNDEDCUSIP as FUNDEDC53_1_0_,
        loanfacili2_.REVOLVERCOMMCUSIP as REVOLVE54_1_0_,
        loanfacili2_.COMMITEDOBLIGATIONFLAG as COMMITE55_1_0_,
        loanfacili2_.ASSETID as ASSETID1_0_,
        loanfacili2_.COVLITEFLAG as COVLITE57_1_0_,
        loanfacili2_.RECORDSTATUS as RECORDS58_1_0_,
        loanfacili2_.CREATEDBY as CREATEDBY1_0_,
        loanfacili2_.CREATIONDATE as CREATIO60_1_0_,
        loanfacili2_.MODIFIEDBY as MODIFIEDBY1_0_,
        loanfacili2_.MODIFICATIONDATE as MODIFIC62_1_0_,
        loandeal5_.LOANDEALID as LOANDEALID0_1_,
        loandeal5_.VERSION as VERSION0_1_,
        loandeal5_.LDRDEALID as LDRDEALID0_1_,
        loandeal5_.LDRVERSION as LDRVERSION0_1_,
        loandeal5_.DEALSNPCUSIP as DEALSNPC5_0_1_,
        loandeal5_.DEALTYPE as DEALTYPE0_1_,
        loandeal5_.DEALNAME as DEALNAME0_1_,
        loandeal5_.DEALDESC as DEALDESC0_1_,
        loandeal5_.DEALSTATUS as DEALSTATUS0_1_,
        loandeal5_.CRAGREEMENTDATE as CRAGREE10_0_1_,
        loandeal5_.CRAGREEMENTCLSDATE as CRAGREE11_0_1_,
        loandeal5_.CRAGREEMENTEFFDATE as CRAGREE12_0_1_,
        loandeal5_.CRAGREEMENTMATDATE as CRAGREE13_0_1_,
        loandeal5_.GLOBALSIZE as GLOBALSIZE0_1_,
        loandeal5_.GLOBALCCY as GLOBALCCY0_1_,
        loandeal5_.SYNDCOUNTRY as SYNDCOU16_0_1_,
        loandeal5_.REFINANCEFLAG as REFINAN17_0_1_,
        loandeal5_.AMENDFLAG as AMENDFLAG0_1_,
        loandeal5_.RESTATEFLAG as RESTATE19_0_1_,
        loandeal5_.ISSUERCONSENTFLAG as ISSUERC20_0_1_,
        loandeal5_.MINASSIGNMENTAMOUNT as MINASSI21_0_1_,
        loandeal5_.BUSINESSDAYRULE as BUSINES22_0_1_,
        loandeal5_.LDRISSUERID as LDRISSU23_0_1_,
        loandeal5_.ISSUERNAME as ISSUERNAME0_1_,
        loandeal5_.ISSUERSTATUS as ISSUERS25_0_1_,
        loandeal5_.ISSUECOUNTRYCD as ISSUECO26_0_1_,
        loandeal5_.ISSUECCY as ISSUECCY0_1_,
        loandeal5_.CITIRATING as CITIRATING0_1_,
        loandeal5_.SNPRATING as SNPRATING0_1_,
        loandeal5_.MOODYRATING as MOODYRA30_0_1_,
        loandeal5_.FITCHRATING as FITCHRA31_0_1_,
        loandeal5_.COBINDUSTRYCD as COBINDU32_0_1_,
        loandeal5_.COBINDUSTRYNAME as COBINDU33_0_1_,
        loandeal5_.SICINDUSTRYCD as SICINDU34_0_1_,
        loandeal5_.SICINDUSTRYNAME as SICINDU35_0_1_,
        loandeal5_.DUPLICATELDRDEALID as DUPLICA36_0_1_,
        loandeal5_.SNPISSUERRATING as SNPISSU37_0_1_,
        loandeal5_.SNPCORPFAMILYRATING as SNPCORP38_0_1_,
        loandeal5_.MOODYISSUERRATING as MOODYIS39_0_1_,
        loandeal5_.MOODYCORPFAMILYRATING as MOODYCO40_0_1_,
        loandeal5_.FITCHISSUERRATING as FITCHIS41_0_1_,
        loandeal5_.FITCHCORPFAMILYRATING as FITCHCO42_0_1_,
        loandeal5_.RECORDSTATUS as RECORDS43_0_1_,
        loandeal5_.CREATEDBY as CREATEDBY0_1_,
        loandeal5_.CREATIONDATE as CREATIO45_0_1_,
        loandeal5_.MODIFIEDBY as MODIFIEDBY0_1_,
        loandeal5_.MODIFICATIONDATE as MODIFIC47_0_1_,
        pvtrs1_.PVTRSID as PVTRSID10_2_,
        pvtrs1_.VERSION as VERSION10_2_,
        pvtrs1_.PORTFOLIOCUSIP as PORTFOLI3_10_2_,
        pvtrs1_.TRSTYPE as TRSTYPE10_2_,
        pvtrs1_.TRSNAME as TRSNAME10_2_,
        pvtrs1_.TRSDESC as TRSDESC10_2_,
        pvtrs1_.TRUSTEENAME as TRUSTEEN7_10_2_,
        pvtrs1_.MANAGER as MANAGER10_2_,
        pvtrs1_.BANKSPV as BANKSPV10_2_,
        pvtrs1_.CORPSPV as CORPSPV10_2_,
        pvtrs1_.MINBALANCEPCT as MINBALA11_10_2_,
        pvtrs1_.MINBALANCE as MINBALANCE10_2_,
        pvtrs1_.MAXBALANCE as MAXBALANCE10_2_,
        pvtrs1_.HAIRCUT as HAIRCUT10_2_,
        pvtrs1_.FUNDINGSPREAD as FUNDING15_10_2_,
        pvtrs1_.FINANCESPREAD as FINANCE16_10_2_,
        pvtrs1_.HEDGERATIO as HEDGERATIO10_2_,
        pvtrs1_.STARTDATE as STARTDATE10_2_,
        pvtrs1_.ENDDATE as ENDDATE10_2_,
        pvtrs1_.RAMPUPDATE as RAMPUPDATE10_2_,
        pvtrs1_.RAMPDOWNDATE as RAMPDOW21_10_2_,
        pvtrs1_.GKSTARTDATE as GKSTART22_10_2_,
        pvtrs1_.GKENDDATE as GKENDDATE10_2_,
        pvtrs1_.GKFRONTSTUBDATE as GKFRONT24_10_2_,
        pvtrs1_.GKBACKSTUBDATE as GKBACKS25_10_2_,
        pvtrs1_.PAYMENTFREQUENCY as PAYMENT26_10_2_,
        pvtrs1_.PAYMENTSCHEDULE as PAYMENT27_10_2_,
        pvtrs1_.TRSSTATUS as TRSSTATUS10_2_,
        pvtrs1_.PORTFOLIOTYPE as PORTFOL29_10_2_,
        pvtrs1_.LIQUIDATIONTYPE as LIQUIDA30_10_2_,
        pvtrs1_.COMMENTS as COMMENTS10_2_,
        pvtrs1_.FEEPVFLAG as FEEPVFLAG10_2_,
        pvtrs1_.EODFEEPV as EODFEEPV10_2_,
        pvtrs1_.CURRPERIODSTARTDATE as CURRPER34_10_2_,
        pvtrs1_.CURRPERIODEFFECTIVESTARTDATE as CURRPER35_10_2_,
        pvtrs1_.RECORDSTATUS as RECORDS36_10_2_,
        pvtrs1_.CREATEDBY as CREATEDBY10_2_,
        pvtrs1_.CREATIONDATE as CREATIO38_10_2_,
        pvtrs1_.MODIFIEDBY as MODIFIEDBY10_2_,
        pvtrs1_.MODIFICATIONDATE as MODIFIC40_10_2_,
        pvtrs1_.CURRENCY as CURRENCY10_2_,
        pvtrs1_.COLLATERALTYPE as COLLATE42_10_2_,
        pvtrs1_.RATINGTYPE as RATINGTYPE10_2_,
        pvtrs1_.VARIATIONMARGINFLAG as VARIATI44_10_2_,
        pvtrs1_.PAYMENTDELAY as PAYMENT45_10_2_,
        pvtrs1_.CALENDARCODES as CALENDA46_10_2_,
        pvtrs1_.RATINGAGENCYID as RATINGA47_10_2_,
        pvtrs1_.INDUSTRY_RATINGAGENCYID as INDUSTRY48_10_2_,
        pvtrs1_.ALLOWEXCESSCONCINDUSTRY as ALLOWEX49_10_2_,
        pvtrs1_.ALLOWEXCESSCONCOBLIGOR as ALLOWEX50_10_2_,
        pvtrs1_.MASTERMNEMONIC as MASTERM51_10_2_,
        pvtrs1_.NOTIONALFORLIMITCALC as NOTIONA52_10_2_,
        pvtrs1_.PAYMENTSTARTDATE as PAYMENT53_10_2_,
        pvtrs1_.ACTUALENDDATE as ACTUALE54_10_2_,
        pvtrs1_.UNSETTLEDINDEPENDENTAMTFLAG as UNSETTL55_10_2_,
        pvtrs1_.COLLATERAL_AGREEMENT as COLLATERAL56_10_2_,
        pvtrs1_.STRATEGY as STRATEGY10_2_,
        pvtrs1_.COLLATERAL_TRIGGER as COLLATERAL58_10_2_,
        pvtrs1_.TRSPORTFOLIOTYPE as TRSPORT59_10_2_,
        pvtrs1_.LINKEDPORTFOLIOID as LINKEDP60_10_2_,
        pvtrs1_.ANNEXFILENAME as ANNEXFI61_10_2_,
        pvtrs1_.TRADINGSTRATEGY as TRADING62_10_2_,
        (SELECT
            SUM(A.NOTIONALAMOUNT*PKG_ASSET.GETLASTFXRATE(A.TRADECCY,
            E.CURRENCY,
            A.TRADEDATE))
        FROM
            PTRSPOSITION A,
            PTRSFACILITYATTRIBUTES E
        WHERE
            A.PTRSID = pvtrs1_.PVTRSID
            AND A.PTRSID = E.PTRSID
            AND A.LOANFACILITYID = E.LOANFACILITYID
            AND ROUND(A.COMMITMENTAMOUNT) > 1 ) as formula0_2_,
        (SELECT
            SUM(A.COMMITMENTAMOUNT*PKG_ASSET.GETLASTFXRATE(A.TRADECCY,
            E.CURRENCY,
            A.TRADEDATE))
        FROM
            PTRSPOSITION A,
            PTRSFACILITYATTRIBUTES E
        WHERE
            A.PTRSID = pvtrs1_.PVTRSID
            AND A.PTRSID = E.PTRSID
            AND A.LOANFACILITYID = E.LOANFACILITYID
            AND ROUND(A.COMMITMENTAMOUNT) > 1 ) as formula1_2_
    from
        GCD.SWAPTRADE this_,
        GCD.LOANFACILITY loanfacili2_,
        GCD.LOANDEAL loandeal5_,
        GCD.PVTRS pvtrs1_
    where
        this_.LOANFACILITYID=loanfacili2_.LOANFACILITYID
        and loanfacili2_.LOANDEALID=loandeal5_.LOANDEALID(+)
        and this_.PTRSID=pvtrs1_.PVTRSID
        and (
            1=1
        )
        and (
            pvtrs1_.PORTFOLIOCUSIP=?
            and pvtrs1_.TRSTYPE=?
            and pvtrs1_.TRSNAME=?
            and pvtrs1_.TRSDESC=?
            and pvtrs1_.TRUSTEENAME=?
            and pvtrs1_.MANAGER=?
            and pvtrs1_.BANKSPV=?
            and pvtrs1_.MAXBALANCE=?
            and pvtrs1_.HEDGERATIO=?
            and pvtrs1_.STARTDATE=?
            and pvtrs1_.ENDDATE=?
            and pvtrs1_.RAMPUPDATE=?
            and pvtrs1_.RAMPDOWNDATE=?
            and pvtrs1_.GKSTARTDATE=?
            and pvtrs1_.GKENDDATE=?
            and pvtrs1_.GKFRONTSTUBDATE=?
            and pvtrs1_.GKBACKSTUBDATE=?
            and pvtrs1_.PAYMENTFREQUENCY=?
            and pvtrs1_.TRSSTATUS=?
            and pvtrs1_.PORTFOLIOTYPE=?
            and pvtrs1_.LIQUIDATIONTYPE=?
            and pvtrs1_.FEEPVFLAG=?
            and pvtrs1_.CURRPERIODSTARTDATE=?
            and pvtrs1_.CURRPERIODEFFECTIVESTARTDATE=?
            and pvtrs1_.RECORDSTATUS=?
            and pvtrs1_.CREATEDBY=?
            and pvtrs1_.CREATIONDATE=?
            and pvtrs1_.MODIFIEDBY=?
            and pvtrs1_.MODIFICATIONDATE=?
            and pvtrs1_.CURRENCY=?
            and pvtrs1_.COLLATERALTYPE=?
            and pvtrs1_.RATINGTYPE=?
            and pvtrs1_.VARIATIONMARGINFLAG=?
            and pvtrs1_.PAYMENTDELAY=?
            and pvtrs1_.CALENDARCODES=?
            and pvtrs1_.RATINGAGENCYID=?
            and pvtrs1_.INDUSTRY_RATINGAGENCYID=?
            and pvtrs1_.ALLOWEXCESSCONCINDUSTRY=?
            and pvtrs1_.ALLOWEXCESSCONCOBLIGOR=?
            and pvtrs1_.MASTERMNEMONIC=?
            and pvtrs1_.NOTIONALFORLIMITCALC=?
            and pvtrs1_.PAYMENTSTARTDATE=?
            and pvtrs1_.UNSETTLEDINDEPENDENTAMTFLAG=?
            and pvtrs1_.COLLATERAL_AGREEMENT=?
            and pvtrs1_.STRATEGY=?
            and pvtrs1_.COLLATERAL_TRIGGER=?
            and pvtrs1_.TRSPORTFOLIOTYPE=?
            and pvtrs1_.LINKEDPORTFOLIOID=?
            and (
                SELECT
                    SUM(A.NOTIONALAMOUNT*PKG_ASSET.GETLASTFXRATE(A.TRADECCY,
                    E.CURRENCY,
                    A.TRADEDATE))
                FROM
                    PTRSPOSITION A,
                    PTRSFACILITYATTRIBUTES E
                WHERE
                    A.PTRSID = pvtrs1_.PVTRSID
                    AND A.PTRSID = E.PTRSID
                    AND A.LOANFACILITYID = E.LOANFACILITYID
                    AND ROUND(A.COMMITMENTAMOUNT) > 1
            )=?
            and (
                SELECT
                    SUM(A.COMMITMENTAMOUNT*PKG_ASSET.GETLASTFXRATE(A.TRADECCY,
                    E.CURRENCY,
                    A.TRADEDATE))
                FROM
                    PTRSPOSITION A,
                    PTRSFACILITYATTRIBUTES E
                WHERE
                    A.PTRSID = pvtrs1_.PVTRSID
                    AND A.PTRSID = E.PTRSID
                    AND A.LOANFACILITYID = E.LOANFACILITYID
                    AND ROUND(A.COMMITMENTAMOUNT) > 1
            )=?
            and pvtrs1_.ANNEXFILENAME=?
            and pvtrs1_.TRADINGSTRATEGY=?
        )
        and (
            loanfacili2_.LDRFACILITYID=?
            and loanfacili2_.LDRDEALID=?
            and loanfacili2_.SNPCUSIP=?
            and loanfacili2_.LOANXID=?
            and loanfacili2_.MOODYSID=?
            and loanfacili2_.FACILITYCUSIP=?
            and loanfacili2_.FACILITYTYPE=?
            and loanfacili2_.FACILITYNAME=?
            and loanfacili2_.FACILITYDESC=?
            and loanfacili2_.FACILITYSTATUS=?
            and loanfacili2_.LSTATYPE=?
            and loanfacili2_.GLOBALSIZE=?
            and loanfacili2_.ORIGGLOBALSIZE=?
            and loanfacili2_.GLOBALCCY=?
            and loanfacili2_.FUNDEDFLAG=?
            and loanfacili2_.FUNDEDAMOUNT=?
            and loanfacili2_.UNFUNDEDAMOUNT=?
            and loanfacili2_.DRAWDOWNLIMIT=?
            and loanfacili2_.ISSUEDATE=?
            and loanfacili2_.MATURITYDATE=?
            and loanfacili2_.FIXEDRATEFLAG=?
            and loanfacili2_.BASERATECATEGORY=?
            and loanfacili2_.BASERATE=?
            and loanfacili2_.SPREAD=?
            and loanfacili2_.ALLINRATE=?
            and loanfacili2_.COUPONFREQUENCY=?
            and loanfacili2_.RATERESETFREQUENCY=?
            and loanfacili2_.DAYCOUNT=?
            and loanfacili2_.REPAYMENTSENIORITY=?
            and loanfacili2_.SECUREDFLAG=?
            and loanfacili2_.LIENSENIORITY=?
            and loanfacili2_.PRORATAFLAG=?
            and loanfacili2_.MINBORROWAMOUNT=?
            and loanfacili2_.INCRBORROWAMOUNT=?
            and loanfacili2_.PREPAYMENTOPTIONFLAG=?
            and loanfacili2_.AMORTIZATIONFLAG=?
            and loanfacili2_.EVERGREENREVOLVERFLAG=?
            and loanfacili2_.TERMOUTREVOLVERCONVFLAG=?
            and loanfacili2_.PAYMENTINKINDFLAG=?
            and loanfacili2_.SNPRATING=?
            and loanfacili2_.MOODYRATING=?
            and loanfacili2_.COMMITEDOBLIGATIONFLAG=?
            and loanfacili2_.ASSETID=?
            and loanfacili2_.COVLITEFLAG=?
            and loanfacili2_.RECORDSTATUS=?
            and loanfacili2_.CREATEDBY=?
            and loanfacili2_.CREATIONDATE=?
            and loanfacili2_.MODIFIEDBY=?
            and loanfacili2_.MODIFICATIONDATE=?
        )

it will use all the non-id fields of pvtrs and facility as join condition.

the best solution is that we create new pvtra ans facility objects, then only set the value of join fields.

SwapTrade exampleTrade = new SwapTrade();
   exampleTrade.setPvtrs(new Pvtrs(pvtrsid));
   exampleTrade.setLoanfacility(new LoanFacility(loanfacilityid));

Collection<SwapTrade> trades = null;
  try {
   trades = swapTradeDAO.findByExample(trade);
  } catch (Exception e) {
   log.error("Exception retrieving Trades with Example - "+trade, e);
   throw new ApolloException(e);
  }

Hibernate query by Example相关推荐

  1. Hibernate Query Language(HQL)。

    Hibernate Query Language(HQL)提供了十分强大的功能,推荐大家使用这种查询方式.HQL具有与SQL语言类似的语法规范,只不过SQL针对表中字段进行查询,而HQL针对持久化对象 ...

  2. Hibernate Query数据查询

    2019独角兽企业重金招聘Python工程师标准>>> 主要由三种查询:HQL查询.Criteria条件查询.SQL查询. 以下分别讲解 1. HQL查询 HQL(Hibernate ...

  3. setResulttransformer过期NativeQueryImpl,cannot be cast to org.hibernate.query.internal.NativeQueryImpl

    JPA的setResultTransformer方法过期替换为NativeQueryImpl @SuppressWarnings("unchecked")@Overridepubl ...

  4. Hibernate——Query查询

    原文地址 前两篇文章介绍了获取SessionFactory,Session,以及Session的三种状态及其之间的转换,本文势必要将大家最关心的问题做出介绍,也就是大家最关心的通过Hibernate提 ...

  5. Hibernate Query 的 list 和iterate方法缓存的区别

    list: quert.list()方法会将从数据库查找到的数据库放到一级缓存和二级缓存,但是不能从一级和二级缓存读取数据,但是可以从二级缓存的查询缓存读取数据, iterate: quert.ite ...

  6. hibernate使用Query进行查询

    本文主要探讨hibernate的简单查询,主要是使用Query进行的查询. 1.首先看下annotation的API中关于查询的描述 2.3. 映射查询 2.3.1. 映射EJBQL/HQL查询 使用 ...

  7. Hibernate的事务级别控制与查询对象的API(Query查询与Criterial查询+离线查询)

    1.事务级别控制 可以在Hibernate的配置文件中对事务进行配置.配置文件中,可以设置事务的隔离级别.其具体的配置方法是在hibernate.cfg.xml文件中的<session-fact ...

  8. Hibernate查询Query By Criterial

    提供的检索方式: (1)导航对象图检索方式  (2)OID检索方式 (3)HQL检索方式 (4)QBC检索方式[query by Criteria(标准)] (5)本地SQL检索方式 1.简介 1.1 ...

  9. hibernate学习之四——Query和Criteria接口

    Query 和 Criteria 接口是 Hibernate 的查询接口,用于向数据库查询对象以及控制执行查询的过程. Query 实例包装了一个 HQL(Hibernate Query Langua ...

最新文章

  1. DeprecationWarning: the md5 module is deprecated; use hashlib instead import md5
  2. GOROOT、GOPATH
  3. 考研计算机组成原电路知识,2021考研计算机大纲408计算机组成原理部分原文解析...
  4. [征询意见]准备采用“创作共用”协议保护大家的原创作品
  5. 输入法项目-用delphi生成GBK 中文编码 表(4~5) GBK/4~5: 0xAA40~0xFEA0(部分) 扩充汉字 包括繁体 0xA840~0xA995(部分) 扩充非汉字...
  6. VB DATA控件链接SQL SERVER
  7. c# asp.net Pdf 转换图片 在线预览 发布到iis中问题 最终解决篇—_—!
  8. redis集群之哨兵模式【原】
  9. 使用php蓝天采集器抓取今日头条ajax的文章内容
  10. http referer 验证防御方法_渗透测试 跨站攻击防御与安全检测手法剖析
  11. [AtCoder Regular Contest 125] A-F全题解
  12. 2022春节行为经济学
  13. BlockingQueue - LinkedBlockingQueue常用API
  14. Python中easy_install 和 pip 的安装及使用
  15. TypeScript_学习笔记
  16. js中立即执行函数会预编译吗_浅析Vue的生命周期以及JS异步
  17. 乘法鉴相器的matlab仿真,种用MATLAB仿真锁相环方法.PDF
  18. 汽车维修企业管理【15】
  19. 13.2 用Patsy创建模型
  20. 对耳朵伤害最小的耳机有哪些,不伤耳的蓝牙耳机推荐

热门文章

  1. 使用双亲指针表示法存储一棵树,可以方便解决下列哪个应用问题( )
  2. 459. Repeated Substring Pattern 重复的子字符串
  3. 2020\Simulation_1\2.约数个数
  4. 数据库开发——MySQL——数据类型——非数值类型
  5. 迷宫问题 POJ - 3984
  6. 【Qt】QSharedMemory类详解
  7. 【机器视觉】 export_def算子
  8. 【Linux】一步一步学Linux——ssh-keyscan命令(179)
  9. git reset git stash
  10. pstools套件在渗透中的应用详解