Bonjour à tous,
Pourriez-vous m'aider à mapper la table category_document.
Il s'agit d'une table sans clé primaire mais d'une composite key sur les 3 champs.
Or je n'arrive pas a faire en sorte que les clés utilisées puissent également correspondre aux objets ... Category_document est mon point d'entrée du DAO, cad ma classe de base pour le load et save.
Une idée ?
voici le diagram :
et Voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 <hibernate-mapping> <class name="com.ebusiness.spg.domain.CategoryDocument" table="CATEGORY_DOCUMENT"> <composite-id> <key-many-to-one name="language" class="com.ebusiness.spg.domain.Language" column="LANGUAGE_ID" lazy="false"/> <key-many-to-one name="category" class="com.ebusiness.spg.domain.Category" column="CATEGORY_ID" lazy="false"/> <key-many-to-one name="document" class="com.ebusiness.spg.ext.vo.File" column="DOCUMENT_ID" /> </composite-id> <set name="attachedContexts" table="CATEGORY_DOCUMENT_CONTEXT"> <key column="DOCUMENT_ID" /> <one-to-many column="CONTEXT_ID" class="com.ebusiness.spg.domain.Context" /> </set> </class> <class name="com.ebusiness.spg.domain.Category" table="CATEGORY"> <id name="id" column="ID"> <generator class="native"/> </id> <property name="name" column="NAME" not-null="true" /> <property name="updatedBy" column="DESCRIPTION" not-null="true" /> </class> <class name="com.ebusiness.spg.domain.Context" table="Context" > <id name="id" column="ID"> <generator class="native" /> </id> <property name="name" column="NAME" not-null="true" /> <property name="shortName" column="SHORT_NAME" not-null="true" /> <property name="description" column="DESCRIPTION" /> <property name="defaultUrl" column="DEFAULT_URL" not-null="true" /> <many-to-one name="language" class="com.ebusiness.spg.domain.Language" column="LANGUAGE_ID" not-null="true" lazy="false"/> <set name="linkedIssues" table="ISSUE_CONTEXT"> <key column="CONTEXT_ID" /> <many-to-many column="ISSUE_ID" class="com.ebusiness.spg.domain.Issue" /> </set> </class> <class name="com.ebusiness.spg.ext.vo.Document" table="Document"> <id name="id" column="ID"> <generator class="sequence"> <param name="sequence">document_seq</param> </generator> </id> <property name="item" column="ITEM" type="org.springframework.orm.hibernate3.support.BlobByteArrayType" not-null="true" /> <property name="name" column="FILENAME" /> <many-to-one name="type" class="com.ebusiness.spg.ext.vo.FileType" column="DOCUMENT_TYPE_CODE" not-null="true" /> <many-to-one name="category" class="com.ebusiness.spg.ext.vo.FileCategory" column="DOCUMENT_CATEGORY_ID" /> <set name="categoryMappings" table="DOCUMENT_CATEGORY_MAPPING" cascade="all-delete-orphan"> <key column="DOCUMENT_ID" /> <composite-element class="com.ebusiness.spg.ext.vo.FileCategoryMapping"> <many-to-one name="category" class="com.ebusiness.spg.ext.vo.FileCategory" column="DOCUMENT_CATEGORY_ID"/> <property name="customTitle" column="custom_title"/> </composite-element> </set> </class> </hibernate-mapping>
Partager