Select Git revision
FeatureRelationship.xml
-
tjc authored
git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@6285 ee4ac58c-ac51-4696-9907-e4b3aa274f04
tjc authoredgit-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@6285 ee4ac58c-ac51-4696-9907-e4b3aa274f04
FeatureRelationship.xml 3.21 KiB
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="FeatureRelationship">
<typeAlias alias="FeatureRelationship"
type="org.gmod.schema.sequence.FeatureRelationship"/>
<resultMap id="map-basic-feature-relationship" class="FeatureRelationship">
<result property="featureRelationshipId" column="feature_relationship_id"/>
<result property="cvTerm.cvTermId" column="relation_type_id"/>
<result property="rank" column="rank"/>
<result property="value" column="relation_value" />
</resultMap>
<resultMap id="map-feature-relationship-for-objectId" class="FeatureRelationship"
extends="map-basic-feature-relationship">
<result property="featureByObjectId.featureId" column="object_id"/>
</resultMap>
<resultMap id="map-feature-relationship-for-subjectId" class="FeatureRelationship"
extends="map-basic-feature-relationship">
<result property="featureBySubjectId" column="subject_id"
select="getLazyFeatureById"/>
</resultMap>
<resultMap id="select-relationship" class="FeatureRelationship">
<result property="featureRelationshipId" column="feature_relationship_id"/>
<result property="featureBySubjectId" column="subject_id"
select="getLazyFeatureById" />
<result property="featureByObjectId" column="object_id"
select="getLazyFeatureById" />
<result property="value" column="value" />
<result property="rank" column="rank" />
<result property="cvTerm" column="type_id" select="getCvtermByCvTermId" />
</resultMap>
<!-- select feature_relationship -->
<select id="getFeatureRelationship" resultMap="select-relationship">
SELECT feature_relationship_id, subject_id, object_id, type_id, value, rank
FROM feature_relationship
WHERE
<dynamic>
<isNotNull property="object_id">
object_id=#object_id#
</isNotNull>
<isNotNull property="subject_id">
subject_id=#subject_id#
</isNotNull>
</dynamic>
</select>
<update id="updateFeatureRelationshipsForSubjectId"
parameterClass="FeatureRelationship">
UPDATE feature_relationship
SET
rank=$rank$, type_id=$cvTerm.cvTermId$
WHERE subject_id=
( SELECT feature_id FROM feature WHERE uniquename=#featureBySubjectId.uniqueName# )
AND object_id=
( SELECT feature_id FROM feature WHERE uniquename=#featureByObjectId.uniqueName# )
</update>
<insert id="insertFeatureRelationship"
parameterClass="FeatureRelationship">
INSERT INTO feature_relationship
( subject_id, object_id, type_id, rank )
VALUES
( (SELECT feature_id FROM feature WHERE uniquename=#featureBySubjectId.uniqueName#),
(SELECT feature_id FROM feature WHERE uniquename=#featureByObjectId.uniqueName#),
$cvTerm.cvTermId$, $rank$ )
</insert>
</sqlMap>