-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: $30.00 offered for a criteria query solution.
PostPosted: Mon Dec 03, 2007 3:55 pm 
Newbie

Joined: Sat Dec 01, 2007 10:37 am
Posts: 12
I am willing to paypal $30.00 to whoever can come up with a nice simple criteria query in c# or java code block for the following (nhibernate mapping files below)

The spec states the following:

Quote:
· findQualifiers: This collection of findQualifier elements can be used to alter the default behavior of search functionality.


FindQualifiers
Quote:
· orLikeKeys: when a bag container contains multiple keyedReference elements (i.e., categoryBag or identifierBag), any keyedReference filters that come from the same namespace (e.g. have the same tModelRefKey value) are OR’d together rather than AND’d. This allows one to say “any of these four values from this namespace, and any of these two values from this namespace”.

· orAllKeys: this changes the behavior to OR keys rather than AND them. This qualifier negates any AND treatment as well as the effect of orLikeKeys.
· andAllKeys: this changes the behavior to AND keys rather than OR them.


I have a function which takes a name (from tmodel) and an categoryBag which is an array of categories each having the following properties
TmodelKeyRef
KeyName
KeyValue

It also takes a string representing one of the above findQualifiers.

If findQualifier is andAllKeys I need to return any tmodels having ALL of the categories specified

If orAllKeys tmodels having ANY of the categories specified will do

and if orLikeKeys (my biggest headache) then I need to return tmodels having at least one matching category for each unique tmodelKeyRef specified in the categoryBag.

Hope this is easily digestible, but if not I am more than willing to elaborate.


Tmodel.hbm.xml

Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" assembly="Data.Hibernate" namespace="Data.Hibernate.Domain">
  <class name="Tmodel" table="tmodel">
    <id name="TmodelKey" type="string">
      <column name="tmodel_key" length="41" />
      <generator class="uuid.hex">
        <param name="format">P</param>
        <param name="seperator">-</param>
      </generator>
    </id>
    <property name="AuthorizedName" type="string">
      <column name="authorized_name" not-null="true"/>
    </property>
    <property name="PublisherId" type="string">
      <column name="publisher_id" length="20"/>
    </property>
    <property name="Operator" type="string">
      <column name="operator" not-null="true"/>
    </property>
    <property name="Name" type="string">
      <column name="name" not-null="true"/>
    </property>
    <property name="OverviewUrl" type="string">
      <column name="overview_url"/>
    </property>
    <property name="DeletionDate" type="DateTime">
      <column name="deletion_date" />
    </property>
    <property name="LastUpdate" type="DateTime">
      <column name="last_update" not-null="true"/>
    </property>
    <bag name="TmodelCategories" inverse="true" cascade="all-delete-orphan" lazy="true">
      <key>
        <column name="tmodel_key" length="41" not-null="true"/>
      </key>
      <one-to-many class="TmodelCategory" />
    </bag>
    <bag name="TmodelDocDescrs" inverse="true" cascade="all-delete-orphan" lazy="true">
      <key>
        <column name="tmodel_key" length="41" not-null="true"/>
      </key>
      <one-to-many class="TmodelDocDescr" />
    </bag>
    <bag name="TmodelDescrs" inverse="true" cascade="all-delete-orphan" lazy="true">
      <key>
        <column name="tmodel_key" length="41" not-null="true"/>
      </key>
      <one-to-many class="TmodelDescr" />
    </bag>
    <bag name="TmodelIdentifiers" inverse="true" cascade="all-delete-orphan" lazy="true">
      <key>
        <column name="tmodel_key" length="41" not-null="true"/>
      </key>
      <one-to-many class="TmodelIdentifier" />
    </bag>
  </class>
</hibernate-mapping>


TmodelCategories.hbm.xml

Code:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0" assembly="ServicePoint.Data.Hibernate" namespace="ServicePoint.Data.Hibernate.Domain">
    <class name="TmodelCategory" table="tmodel_category">
        <id name="TmodelCategoryId" type="int">
            <column name="tmodel_category_id" />
            <generator class="native" />
        </id>
        <many-to-one name="Tmodel" class="Tmodel" fetch="select">
            <column name="tmodel_key" length="41" not-null="true"/>
        </many-to-one>
        <property name="TmodelKeyRef" type="string">
            <column name="tmodel_key_ref"/>
        </property>
        <property name="KeyName" type="string">
            <column name="key_name"/>
        </property>
        <property name="KeyValue" type="string">
            <column name="key_value" not-null="true"/>
        </property>
    </class>
</hibernate-mapping>


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.