mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-07 18:25:23 +00:00
- Root groups are now those in the default zone that are not children of groups in the same zone git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@15051 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
854 lines
29 KiB
XML
854 lines
29 KiB
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="org.alfresco.repo.domain.hibernate.StoreImpl"
|
|
proxy="org.alfresco.repo.domain.Store"
|
|
table="alf_store"
|
|
dynamic-update="false"
|
|
dynamic-insert="false"
|
|
select-before-update="false"
|
|
optimistic-lock="version" >
|
|
<!-- auto-generated ID -->
|
|
<id name="id" column="id" type="long" >
|
|
<generator class="native" />
|
|
</id>
|
|
<!-- Protocol and Identifier must be unique -->
|
|
<natural-id mutable="true">
|
|
<property name="protocol" column="protocol" type="string" length="50" not-null="true" />
|
|
<property name="identifier" column="identifier" type="string" length="100" not-null="true" />
|
|
</natural-id>
|
|
<!-- Optimistic locking -->
|
|
<version column="version" name="version" type="long" />
|
|
<!-- forward assoc to root node -->
|
|
<many-to-one
|
|
name="rootNode"
|
|
not-null="true"
|
|
foreign-key="fk_alf_store_root"
|
|
lazy="proxy"
|
|
class="org.alfresco.repo.domain.hibernate.NodeImpl"
|
|
fetch="select" >
|
|
<column name="root_node_id" />
|
|
</many-to-one>
|
|
</class>
|
|
|
|
<class
|
|
name="org.alfresco.repo.domain.hibernate.NodeImpl"
|
|
proxy="org.alfresco.repo.domain.Node"
|
|
table="alf_node"
|
|
dynamic-update="false"
|
|
dynamic-insert="false"
|
|
select-before-update="false"
|
|
lazy="true"
|
|
optimistic-lock="version" >
|
|
<!-- auto-generated ID -->
|
|
<id name="id" column="id" type="long" >
|
|
<generator class="native" />
|
|
</id>
|
|
<!-- Store and UUID must be unique -->
|
|
<natural-id mutable="true">
|
|
<!-- forward assoc to store -->
|
|
<many-to-one
|
|
name="store"
|
|
class="org.alfresco.repo.domain.hibernate.StoreImpl"
|
|
column="store_id"
|
|
not-null="true"
|
|
lazy="false"
|
|
foreign-key="fk_alf_node_store"
|
|
fetch="join" />
|
|
<!-- the store-unique identifier -->
|
|
<property name="uuid" column="uuid" type="string" length="36" />
|
|
</natural-id>
|
|
<!-- Optimistic locking -->
|
|
<version column="version" name="version" type="long" />
|
|
|
|
<!-- forward assoc to Transaction -->
|
|
<many-to-one
|
|
name="transaction"
|
|
class="org.alfresco.repo.domain.hibernate.TransactionImpl"
|
|
column="transaction_id"
|
|
foreign-key="fk_alf_node_txn"
|
|
lazy="proxy"
|
|
fetch="select"
|
|
unique="false"
|
|
not-null="true"
|
|
cascade="none" />
|
|
<!-- Keep track of the node even once it dies -->
|
|
<property name="deleted" column="node_deleted" type="boolean" not-null="true" index="idx_alf_node_del"/>
|
|
<!-- Node type QName (mandatory) -->
|
|
<property name="typeQNameId" column="type_qname_id" type="long" not-null="true" /> <!-- fk_alf_node_tqn -->
|
|
<!-- forward assoc to access control list (optional) -->
|
|
<many-to-one
|
|
name="accessControlList"
|
|
class="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl"
|
|
column="acl_id"
|
|
foreign-key="fk_alf_node_acl"
|
|
lazy="false"
|
|
fetch="join"
|
|
unique="false"
|
|
not-null="false"
|
|
cascade="none" />
|
|
<!-- forward assoc to properties -->
|
|
<map
|
|
name="properties"
|
|
table="alf_node_properties"
|
|
lazy="true"
|
|
fetch="select"
|
|
batch-size="128"
|
|
sort="unsorted"
|
|
inverse="false"
|
|
optimistic-lock="false"
|
|
cascade="delete" >
|
|
<key column="node_id" foreign-key="fk_alf_nprop_n" not-null="true" />
|
|
<composite-map-key class="org.alfresco.repo.domain.PropertyMapKey">
|
|
<key-property name="qnameId" column="qname_id" type="long" />
|
|
<key-property name="listIndex" column="list_index" type="int" />
|
|
<key-property name="localeId" column="locale_id" type="long" />
|
|
</composite-map-key>
|
|
<composite-element class="org.alfresco.repo.domain.NodePropertyValue" >
|
|
<property name="actualType" column="actual_type_n" type="integer" not-null="true" />
|
|
<property name="persistedType" column="persisted_type_n" type="integer" not-null="true" />
|
|
<property name="booleanValue" column="boolean_value" type="boolean" />
|
|
<property name="longValue" column="long_value" type="long" />
|
|
<property name="floatValue" column="float_value" type="float" />
|
|
<property name="doubleValue" column="double_value" type="double" />
|
|
<property name="stringValue" column="string_value" type="string" length="1024"/>
|
|
<property name="serializableValue" column="serializable_value" type="serializable" length="16384"/>
|
|
</composite-element>
|
|
</map>
|
|
<!-- forward assoc to aspects -->
|
|
<set
|
|
name="aspects"
|
|
table="alf_node_aspects"
|
|
lazy="true"
|
|
fetch="select"
|
|
batch-size="128"
|
|
inverse="false"
|
|
sort="unsorted"
|
|
optimistic-lock="false"
|
|
cascade="delete" >
|
|
<key column="node_id" foreign-key="fk_alf_nasp_n" not-null="true" />
|
|
<element column="qname_id" type="long" not-null="true" /> <!-- fk_alf_nasp_qn -->
|
|
</set>
|
|
<!-- cm:auditable properties -->
|
|
<component name="auditableProperties" class="org.alfresco.repo.domain.AuditableProperties" optimistic-lock="false">
|
|
<property name="auditCreator" column="audit_creator" type="string" length="255" not-null="false"/>
|
|
<property name="auditCreated" column="audit_created" type="string" length="30" not-null="false"/>
|
|
<property name="auditModifier" column="audit_modifier" type="string" length="255" not-null="false"/>
|
|
<property name="auditModified" column="audit_modified" type="string" length="30" not-null="false"/>
|
|
<property name="auditAccessed" column="audit_accessed" type="string" length="30" not-null="false"/>
|
|
</component>
|
|
</class>
|
|
|
|
<class
|
|
name="org.alfresco.repo.domain.hibernate.ChildAssocImpl"
|
|
proxy="org.alfresco.repo.domain.ChildAssoc"
|
|
dynamic-insert="false"
|
|
dynamic-update="false"
|
|
lazy="true"
|
|
optimistic-lock="version"
|
|
table="alf_child_assoc" >
|
|
<!-- auto-generated ID -->
|
|
<id name="id" column="id" type="long" >
|
|
<generator class="native" />
|
|
</id>
|
|
<natural-id mutable="true">
|
|
<!-- forward assoc to parent node -->
|
|
<many-to-one
|
|
name="parent"
|
|
class="org.alfresco.repo.domain.hibernate.NodeImpl"
|
|
lazy="proxy"
|
|
foreign-key="fk_alf_cass_pnode"
|
|
fetch="select"
|
|
optimistic-lock="false"
|
|
not-null="true" >
|
|
<column name="parent_node_id" not-null="true" />
|
|
</many-to-one>
|
|
<property name="typeQNameId" column="type_qname_id" type="long" not-null="true" /> <!-- fk_alf_cass_tqn -->
|
|
<property name="childNodeNameCrc" column="child_node_name_crc" type="long" not-null="true" />
|
|
<property name="childNodeName" column="child_node_name" type="string" length="50" not-null="true" />
|
|
</natural-id>
|
|
<!-- Optimistic locking -->
|
|
<version column="version" name="version" type="long" />
|
|
<!-- forward assoc to child node -->
|
|
<many-to-one
|
|
name="child"
|
|
lazy="proxy"
|
|
foreign-key="fk_alf_cass_cnode"
|
|
fetch="select"
|
|
class="org.alfresco.repo.domain.hibernate.NodeImpl"
|
|
optimistic-lock="false"
|
|
not-null="true" >
|
|
<column name="child_node_id" not-null="true"/>
|
|
</many-to-one>
|
|
<property name="qnameNamespaceId" column="qname_ns_id" type="long" not-null="true" /> <!-- fk_alf_cass_qnns -->
|
|
<property name="qnameLocalName" column="qname_localname" type="string" length="255" not-null="true" index="idx_alf_cass_qnln" />
|
|
<property name="isPrimary" column="is_primary" />
|
|
<property name="index" column="assoc_index" />
|
|
</class>
|
|
|
|
<class
|
|
name="org.alfresco.repo.domain.hibernate.NodeAssocImpl"
|
|
proxy="org.alfresco.repo.domain.NodeAssoc"
|
|
table="alf_node_assoc" >
|
|
<!-- auto-generated ID -->
|
|
<id name="id" column="id" type="long" >
|
|
<generator class="native" />
|
|
</id>
|
|
<natural-id mutable="true">
|
|
<!-- forward assoc to source node -->
|
|
<many-to-one
|
|
name="source"
|
|
class="org.alfresco.repo.domain.hibernate.NodeImpl"
|
|
optimistic-lock="false"
|
|
foreign-key="fk_alf_nass_snode"
|
|
lazy="false"
|
|
fetch="join"
|
|
not-null="true" >
|
|
<column name="source_node_id" not-null="true" />
|
|
</many-to-one>
|
|
<!-- forward assoc to target node -->
|
|
<many-to-one
|
|
name="target"
|
|
class="org.alfresco.repo.domain.hibernate.NodeImpl"
|
|
optimistic-lock="false"
|
|
foreign-key="fk_alf_nass_tnode"
|
|
lazy="false"
|
|
fetch="join"
|
|
not-null="true" >
|
|
<column name="target_node_id" not-null="true" />
|
|
</many-to-one>
|
|
<property name="typeQNameId" column="type_qname_id" type="long" not-null="true" /> <!-- fk_alf_nass_tqn -->
|
|
</natural-id>
|
|
<!-- Optimistic locking -->
|
|
<version column="version" name="version" type="long" />
|
|
</class>
|
|
|
|
<query name="store.GetStoreByAll">
|
|
select
|
|
store
|
|
from
|
|
org.alfresco.repo.domain.hibernate.StoreImpl as store
|
|
join store.rootNode
|
|
where
|
|
store.protocol = :protocol and
|
|
store.identifier = :identifier
|
|
</query>
|
|
|
|
<query name="store.GetAllStores">
|
|
select
|
|
store
|
|
from
|
|
org.alfresco.repo.domain.hibernate.StoreImpl as store
|
|
</query>
|
|
|
|
<query name="node.GetNodeByStoreIdAndUuid">
|
|
select
|
|
node,
|
|
acl
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeImpl as node
|
|
left outer join node.accessControlList as acl
|
|
where
|
|
node.store.id = :storeId and
|
|
node.uuid = :uuid
|
|
</query>
|
|
|
|
<query name="node.GetParentAssocs">
|
|
select
|
|
assoc,
|
|
parent,
|
|
child
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
where
|
|
child.id = :childId
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.DeleteParentAssocs">
|
|
delete
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
where
|
|
assoc.child.id = :childId
|
|
</query>
|
|
|
|
<query name="node.DeleteChildAssocs">
|
|
delete
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
where
|
|
assoc.parent.id = :parentId
|
|
</query>
|
|
|
|
<query name="node.DeleteNodeAssocs">
|
|
delete
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeAssocImpl as assoc
|
|
where
|
|
assoc.source.id = :nodeId or
|
|
assoc.target.id = :nodeId
|
|
</query>
|
|
|
|
<query name="node.GetChildNodeIds">
|
|
select
|
|
child.id
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.child as child
|
|
where
|
|
assoc.parent.id = :parentId
|
|
order by
|
|
child.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocsByAll">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
where
|
|
assoc.parent.id = :parentId and
|
|
assoc.child.id = :childId and
|
|
assoc.typeQNameId = :typeQNameId and
|
|
assoc.qnameNamespaceId = :qnameNamespaceId and
|
|
assoc.qnameLocalName = :qnameLocalName
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocs">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
where
|
|
assoc.parent.id = :parentId
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocByTypeAndName">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
where
|
|
assoc.parent.id = :parentId and
|
|
assoc.typeQNameId = :typeQNameId and
|
|
assoc.childNodeNameCrc = :childNodeNameCrc and
|
|
assoc.childNodeName = :childNodeName
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocRefsByTypeAndNameList">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
parent.id = :parentId and
|
|
assoc.typeQNameId = :typeQNameId and
|
|
assoc.childNodeName in (:childNodeNames)
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocRefs">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
parent.id = :parentId
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocRefsByQName">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
parent.id = :parentId and
|
|
assoc.qnameNamespaceId = :qnameNamespaceId and
|
|
assoc.qnameLocalName = :qnameLocalName
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocRefsByTypeQNames">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
parent.id = :parentId and
|
|
assoc.typeQNameId in (:childAssocTypeQNameIds)
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocRefsByTypeQNameAndQName">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
parent.id = :parentId and
|
|
assoc.typeQNameId = :typeQNameId and
|
|
assoc.qnameNamespaceId = :qnameNamespaceId and
|
|
assoc.qnameLocalName = :qnameLocalName
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetChildAssocRefsByChildTypeQName">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
parent.id = :parentId and
|
|
child.typeQNameId in (:childTypeQNameIds)
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetPrimaryChildAssocs">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
assoc.parent.id = :parentId and
|
|
assoc.isPrimary = true
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetPrimaryChildAssocsNotInSameStore">
|
|
select
|
|
assoc.id,
|
|
assoc.typeQNameId,
|
|
assoc.qnameNamespaceId,
|
|
assoc.qnameLocalName,
|
|
assoc.childNodeName,
|
|
assoc.childNodeNameCrc,
|
|
assoc.isPrimary,
|
|
assoc.index,
|
|
child.id,
|
|
store.protocol,
|
|
store.identifier,
|
|
child.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join assoc.child as child
|
|
join child.store as store
|
|
where
|
|
assoc.parent.id = :parentId and
|
|
assoc.isPrimary = true and
|
|
child.store.id != parent.store.id
|
|
order by
|
|
assoc.index,
|
|
assoc.id
|
|
</query>
|
|
|
|
<query name="node.GetNodesWithChildrenInDifferentStore">
|
|
select
|
|
parent.id,
|
|
parentStore.protocol,
|
|
parentStore.identifier,
|
|
parent.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.ChildAssocImpl as assoc
|
|
join assoc.parent as parent
|
|
join parent.store as parentStore
|
|
join assoc.child as child
|
|
join child.store as childStore
|
|
where
|
|
parentStore.id = :parentStoreId and
|
|
childStore.id != :parentStoreId and
|
|
parent.id > :minNodeId and
|
|
assoc.isPrimary = true
|
|
order by
|
|
parent.id
|
|
</query>
|
|
|
|
<query name="node.GetNodesWithAspect">
|
|
select
|
|
node.id,
|
|
node.store.protocol,
|
|
node.store.identifier,
|
|
node.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeImpl as node
|
|
join node.aspects as aspects
|
|
where
|
|
node.id > :minNodeId and
|
|
aspects.id = :aspectQNameId
|
|
order by
|
|
node.id
|
|
</query>
|
|
|
|
<query name="node.GetNodeAssoc">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeAssocImpl as assoc
|
|
where
|
|
assoc.source.id = :sourceId and
|
|
assoc.target.id = :targetId and
|
|
assoc.typeQNameId = :assocTypeQNameId
|
|
</query>
|
|
|
|
<query name="node.GetNodeAssocsToAndFrom">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeAssocImpl as assoc
|
|
where
|
|
assoc.source.id = :nodeId or
|
|
assoc.target.id = :nodeId
|
|
</query>
|
|
|
|
<query name="node.GetTargetAssocs">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeAssocImpl as assoc
|
|
join assoc.source as source
|
|
join assoc.target as target
|
|
where
|
|
assoc.source.id = :sourceId
|
|
</query>
|
|
|
|
<query name="node.GetSourceAssocs">
|
|
select
|
|
assoc
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeAssocImpl as assoc
|
|
join assoc.source as source
|
|
join assoc.target as target
|
|
where
|
|
assoc.target.id = :targetId
|
|
</query>
|
|
|
|
<sql-query name="node.GetNodesWithPropertyValuesByStringAndStore">
|
|
<return alias="n" class="org.alfresco.repo.domain.hibernate.NodeImpl"/>
|
|
SELECT
|
|
{n.*}
|
|
FROM
|
|
alf_node n
|
|
JOIN alf_store s on s.id = n.store_id
|
|
JOIN alf_node_properties p ON n.id = p.node_id
|
|
WHERE
|
|
s.protocol = :storeProtocol AND
|
|
s.identifier = :storeIdentifier AND
|
|
p.qname_id = :propQNameID AND
|
|
p.string_value = :propStringValue
|
|
</sql-query>
|
|
|
|
<sql-query name="node.GetContentUrlsForStoreOld">
|
|
<return-scalar column="owner" type="string"/>
|
|
<return-scalar column="creator" type="string"/>
|
|
<return-scalar column="contenturl" type="string"/>
|
|
SELECT
|
|
p1.string_value AS owner,
|
|
n.audit_creator AS creator,
|
|
p2.string_value AS contenturl
|
|
FROM
|
|
alf_node n
|
|
JOIN alf_store s ON (s.id = n.store_id AND n.type_qname_id = :contentTypeQNameID)
|
|
LEFT JOIN alf_node_properties p1 ON (p1.node_id = n.id AND p1.qname_id = :ownerPropQNameID)
|
|
JOIN alf_node_properties p2 ON (p2.node_id = n.id AND p2.qname_id = :contentPropQNameID)
|
|
WHERE
|
|
s.protocol = :storeProtocol AND
|
|
s.identifier = :storeIdentifier AND
|
|
p2.string_value IS NOT NULL AND
|
|
(p1.string_value != 'System' OR (p1.string_value IS NULL AND n.audit_creator != 'System'))
|
|
</sql-query>
|
|
|
|
<sql-query name="node.GetContentUrlsForStoreNew">
|
|
<return-scalar column="owner" type="string"/>
|
|
<return-scalar column="creator" type="string"/>
|
|
<return-scalar column="contentDataId" type="long"/>
|
|
SELECT
|
|
p1.string_value AS owner,
|
|
n.audit_creator AS creator,
|
|
cd.id AS contentDataId
|
|
FROM
|
|
alf_node n
|
|
JOIN alf_store s ON (s.id = n.store_id AND n.type_qname_id = :contentTypeQNameID)
|
|
LEFT JOIN alf_node_properties p1 ON (p1.node_id = n.id AND p1.qname_id = :ownerPropQNameID)
|
|
JOIN alf_node_properties p2 ON (p2.node_id = n.id AND p2.qname_id = :contentPropQNameID)
|
|
JOIN alf_content_data cd ON (p2.long_value = cd.id)
|
|
WHERE
|
|
s.protocol = :storeProtocol AND
|
|
s.identifier = :storeIdentifier AND
|
|
(p1.string_value != 'System' OR (p1.string_value IS NULL AND n.audit_creator != 'System'))
|
|
</sql-query>
|
|
|
|
<sql-query name="node.GetUsersWithoutUsage">
|
|
<return-scalar column="username" type="string"/>
|
|
<return-scalar column="uuid" type="string"/>
|
|
SELECT
|
|
p1.string_value AS username,
|
|
n.uuid AS uuid
|
|
FROM
|
|
alf_node n
|
|
JOIN alf_store s ON (s.id = n.store_id AND n.type_qname_id = :personTypeQNameID)
|
|
JOIN alf_node_properties p1 ON (p1.node_id = n.id AND p1.qname_id = :usernamePropQNameID)
|
|
LEFT JOIN alf_node_properties p2 ON (p2.node_id = n.id AND p2.qname_id = :sizeCurrentPropQNameID)
|
|
WHERE
|
|
s.protocol = :storeProtocol AND
|
|
s.identifier = :storeIdentifier AND
|
|
(p2.persisted_type_n IS NULL OR p2.persisted_type_n = 0) AND
|
|
p1.string_value != 'System'
|
|
</sql-query>
|
|
|
|
<sql-query name="node.GetUsersWithUsage">
|
|
<return-scalar column="username" type="string"/>
|
|
<return-scalar column="uuid" type="string"/>
|
|
SELECT
|
|
p1.string_value AS username,
|
|
n.uuid AS uuid
|
|
FROM
|
|
alf_node n
|
|
JOIN alf_store s ON (s.id = n.store_id AND n.type_qname_id = :personTypeQNameID)
|
|
JOIN alf_node_properties p1 ON (p1.node_id = n.id AND p1.qname_id = :usernamePropQNameID)
|
|
LEFT JOIN alf_node_properties p2 ON (p2.node_id = n.id AND p2.qname_id = :sizeCurrentPropQNameID)
|
|
WHERE
|
|
s.protocol = :storeProtocol AND
|
|
s.identifier = :storeIdentifier AND
|
|
(p2.persisted_type_n != 0 AND p2.persisted_type_n IS NOT NULL) AND
|
|
p1.string_value != 'System'
|
|
</sql-query>
|
|
|
|
<query name="node.GetNodesWithPropertyValuesByActualType">
|
|
select
|
|
node
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeImpl as node
|
|
join
|
|
node.properties prop
|
|
where
|
|
(
|
|
prop.actualType = :actualType or
|
|
prop.actualType = 9
|
|
) and
|
|
prop.persistedType != 0
|
|
</query>
|
|
|
|
<query name="node.patch.GetNodesWithPersistedSerializableProperties">
|
|
select distinct
|
|
node
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeImpl as node
|
|
join node.properties as props
|
|
where
|
|
props.serializableValue is not null
|
|
</query>
|
|
|
|
<query name="node.GetDeletedNodesByMaxTxnId">
|
|
<![CDATA[
|
|
select
|
|
node.id,
|
|
node.store.protocol,
|
|
node.store.identifier,
|
|
node.uuid
|
|
from
|
|
org.alfresco.repo.domain.hibernate.NodeImpl as node
|
|
join node.transaction as txn
|
|
where
|
|
node.id >= :minNodeId and
|
|
node.deleted = true and
|
|
txn.id <= :maxTxnId
|
|
order by
|
|
node.id asc
|
|
]]>
|
|
</query>
|
|
|
|
<sql-query name="node.GetNodesWithoutParentAssocsOfType">
|
|
<return-scalar column="id" type="long"/>
|
|
<return-scalar column="protocol" type="string"/>
|
|
<return-scalar column="identifier" type="string"/>
|
|
<return-scalar column="uuid" type="string"/>
|
|
SELECT
|
|
n.id,
|
|
s.protocol,
|
|
s.identifier,
|
|
n.uuid
|
|
FROM
|
|
alf_node n
|
|
JOIN alf_store s ON (s.id = n.store_id)
|
|
LEFT OUTER JOIN alf_child_assoc a ON (a.child_node_id = n.id AND a.type_qname_id = :assocTypeQNameID)
|
|
WHERE
|
|
s.protocol = :storeProtocol AND
|
|
s.identifier = :storeIdentifier AND
|
|
n.type_qname_id = :nodeTypeQNameID AND
|
|
n.node_deleted = :isDeleted AND
|
|
a.child_node_id IS NULL
|
|
</sql-query>
|
|
|
|
<sql-query name="node.GetChildAssocsWithoutParentAssocsOfType">
|
|
<return-scalar column="id" type="long"/>
|
|
<return-scalar column="type_qname_id" type="long"/>
|
|
<return-scalar column="qname_ns_id" type="long"/>
|
|
<return-scalar column="qname_localname" type="string"/>
|
|
<return-scalar column="child_node_name" type="string"/>
|
|
<return-scalar column="child_node_name_crc" type="long"/>
|
|
<return-scalar column="is_primary" type="boolean"/>
|
|
<return-scalar column="assoc_index" type="integer"/>
|
|
<return-scalar column="id" type="long"/>
|
|
<return-scalar column="protocol" type="string"/>
|
|
<return-scalar column="identifier" type="string"/>
|
|
<return-scalar column="uuid" type="string"/>
|
|
select
|
|
z1.id,
|
|
z1.type_qname_id,
|
|
z1.qname_ns_id,
|
|
z1.qname_localname,
|
|
z1.child_node_name,
|
|
z1.child_node_name_crc,
|
|
z1.is_primary,
|
|
z1.assoc_index,
|
|
n.id,
|
|
s.protocol,
|
|
s.identifier,
|
|
n.uuid
|
|
FROM
|
|
(alf_node n
|
|
JOIN alf_store s ON (s.id = n.store_id)
|
|
JOIN alf_child_assoc z1 ON (z1.parent_node_id = :parentId and z1.child_node_id = n.id))
|
|
LEFT OUTER JOIN
|
|
(alf_child_assoc a
|
|
JOIN alf_child_assoc z2 ON (z2.parent_node_id = :parentId AND z2.child_node_id = a.parent_node_id ))
|
|
ON (a.child_node_id = n.id AND a.type_qname_id = :assocTypeQNameID)
|
|
WHERE
|
|
a.child_node_id IS NULL
|
|
</sql-query>
|
|
|
|
</hibernate-mapping>
|