Support for searchable, arbitrarily-nested properties

- TODO: ID-based caching for entities that can't be found by value (e.g. maps, serializable)
 - TODO: Serializable table
 - TODO: Dedicated tests for node properties (QName-Serializable maps with nested MLText)


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15753 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2009-08-14 14:53:12 +00:00
parent f3f4b2b043
commit 5f8bfcae7a
9 changed files with 600 additions and 20 deletions

View File

@@ -15,6 +15,7 @@
<typeAlias alias="PropertyStringValue" type="org.alfresco.repo.domain.propval.PropertyStringValueEntity"/>
<typeAlias alias="PropertyDoubleValue" type="org.alfresco.repo.domain.propval.PropertyDoubleValueEntity"/>
<typeAlias alias="PropertyValue" type="org.alfresco.repo.domain.propval.PropertyValueEntity"/>
<typeAlias alias="PropertyCollectionLink" type="org.alfresco.repo.domain.propval.PropertyCollectionLinkEntity"/>
<!-- -->
<!-- Result Maps -->
@@ -56,6 +57,12 @@
<result property="stringValue" column="string_value" jdbcType="VARCHAR" javaType="java.lang.String"/>
<result property="serializableValue" column="serializable_value" jdbcType="BLOB" javaType="java.lang.Object"/>
</resultMap>
<resultMap id="result.PropertyCollectionLink" class="PropertyCollectionLink">
<result property="rootCollectionPropId" column="root_coll_prop_id" jdbcType="BIGINT" javaType="long"/>
<result property="currentCollectionPropId" column="persisted_type" jdbcType="BIGINT" javaType="long"/>
<result property="keyPropId" column="key_prop_id" jdbcType="BIGINT" javaType="long"/>
<result property="valuePropId" column="value_prop_id" jdbcType="BIGINT" javaType="long"/>
</resultMap>
<!-- -->
<!-- Parameter Maps -->
@@ -271,4 +278,15 @@
pv.id = #id#
</select>
<insert id="insert.PropertyCollectionLink" parameterClass="PropertyCollectionLink" >
insert into alf_prop_collection_link
(
root_coll_prop_id, curr_coll_prop_id, key_prop_id, value_prop_id
)
values
(
#rootCollectionPropId#, #currentCollectionPropId#, #keyPropId#, #valuePropId#
)
</insert>
</sqlMap>