summaryrefslogtreecommitdiff
path: root/tests/unit/SQLMap/maps/sqlite/Document.xml
blob: 8796865ccf4d0bba3419c874f3c85988d56a0ad2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?xml version="1.0" encoding="utf-8" ?> 
<sqlMap namespace="Document" >

	<resultMap id="document" class="Document">
		<result property="Id"			column="Document_Id" type="integer" />
		<result property="Title"			column="Document_Title"/>
		<discriminator column="Document_Type" type="string"/> 
		<subMap value="Book" resultMapping="book" />
		<subMap value="Newspaper" resultMapping="newspaper" />
	</resultMap>
	
	<resultMap id="document-custom-handler" class="Document">
		<result property="Id"			column="Document_Id" type="integer"/>
		<result property="Title"		column="Document_Title"/>
		<discriminator column="Document_Type"  typeHandler="CustomInheritance"/> 
		<subMap value="Book" resultMapping="book" />
		<subMap value="Newspaper" resultMapping="newspaper" />
	</resultMap>
	
	<resultMap id="book" class="Book" extends="document">
		<result property="PageNumber"		column="Document_PageNumber"/>
	</resultMap>
	
	<resultMap id="newspaper" class="Newspaper"  extends="document">
		<result property="City"			column="Document_City"/>
	</resultMap>
	
	<statement id="GetAllDocument"
		resultMap="document">
		select 
			*
		from Documents 
		order by Document_Type, Document_Id
	</statement>
	
	<select id="GetTypedCollection"
		listClass="DocumentCollection"
		resultMap="document">
		select 
			*
		from Documents 
		order by Document_Type, Document_Id
	</select>		
	
	<select id="GetAllDocumentWithCustomTypeHandler"
		resultMap="document-custom-handler">
		select
			*
		from Documents 
		order by Document_Type, Document_Id
	</select>
	
</sqlMap>