Project

General

Profile

Download (16.2 KB) Statistics
| Branch: | Tag: | Revision:
1
<?xml version="1.0" encoding="UTF-8"?>
2
<!DOCTYPE hibernate-configuration PUBLIC
3
 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
4
 "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
5
 
6
<hibernate-configuration>
7
    <session-factory>
8
    
9
      <property name="connection.release_mode">after_transaction</property>
10
    
11
      <!-- Connection Pooling -->
12
      <property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
13
	    <!-- 
14
          Configuring the C3P0ConnectionProvider
15
          ========================================
16
          see http://www.mchange.com/projects/c3p0/index.html#hibernate-specific
17
          and also org.springframework.orm.hibernate3.AbstractSessionFactoryBean.setDataSource(DataSource dataSource)
18
          
19
          IMPORTANT: 
20
          Because of the constraint (1) the org.hibernate.connection.C3P0ConnectionProvider are not be used 
21
          for the cdm library because it requires the dataSource bean in some cases. 
22
              
23
          (1)
24
          Do NOT specify the dataSource in the sessionFactory for example in the 
25
          org.springframework.orm.hibernate3.LocalSessionFactoryBean
26
          !!!==> If *dataSource* is set, this will override corresponding settings in Hibernate properties.!!!
27
			  If this is set, the Hibernate settings should not define a connection provider to 
28
		      avoid meaningless double configuration.
29
          (2)
30
          Hibernate uses the hibernate.c3p0.max_size property to determine if c3p0
31
          is begin used.  Therefore the max_size property MUST be set. - maybe not need in hibernate 3.4 +
32
          
33
          (3) If you are using Hibernate's C3P0ConnectionProvider you must set the following properties 
34
          in your hibernate configuration, using hibernate-specific configuration keys. 
35
          All other properties must be defined as usual in a c3p0.properties file. 
36
          This is confusing, and will hopefully be simplified some time in the future, but for now... 
37
                      
38
            hibernate.c3p0.acquire_increment
39
			hibernate.c3p0.idle_test_period
40
			hibernate.c3p0.timeout
41
			hibernate.c3p0.max_size
42
			hibernate.c3p0.max_statements
43
			hibernate.c3p0.min_size
44
			hibernate.c3p0.validate 
45
      -->
46
      <mapping package="eu.etaxonomy.cdm.model.common"/>
47
      <!-- Annotation Package -->
48
      <mapping class="eu.etaxonomy.cdm.model.agent.Address"/>
49
      <mapping class="eu.etaxonomy.cdm.model.agent.AgentBase"/>
50
      <mapping class="eu.etaxonomy.cdm.model.agent.Contact"/>
51
      <mapping class="eu.etaxonomy.cdm.model.agent.Institution"/>
52
      <mapping class="eu.etaxonomy.cdm.model.agent.InstitutionalMembership"/>
53
      <mapping class="eu.etaxonomy.cdm.model.agent.InstitutionType"/>
54
      <mapping class="eu.etaxonomy.cdm.model.agent.Person"/>
55
      <mapping class="eu.etaxonomy.cdm.model.agent.Team"/>
56
      <mapping class="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase"/>
57
      <!-- Common Package -->
58
      <mapping class="eu.etaxonomy.cdm.model.common.Annotation"/>
59
      <mapping class="eu.etaxonomy.cdm.model.common.AnnotationType"/>
60
      <mapping class="eu.etaxonomy.cdm.model.common.CdmMetaData"/>
61
      <mapping class="eu.etaxonomy.cdm.model.common.Credit"/>
62
      <mapping class="eu.etaxonomy.cdm.model.common.DefinedTermBase"/>
63
      <mapping class="eu.etaxonomy.cdm.model.common.Extension"/>
64
      <mapping class="eu.etaxonomy.cdm.model.common.ExtensionType"/>
65
      <mapping class="eu.etaxonomy.cdm.model.common.Figure"/>
66
      <mapping class="eu.etaxonomy.cdm.model.common.IdentifiableSource"/>
67
      <mapping class="eu.etaxonomy.cdm.model.common.DescriptionElementSource"/>
68
      <mapping class="eu.etaxonomy.cdm.model.common.GrantedAuthorityImpl"/>
69
      <mapping class="eu.etaxonomy.cdm.model.common.Group"/>
70
      <mapping class="eu.etaxonomy.cdm.model.common.Language"/>
71
      <mapping class="eu.etaxonomy.cdm.model.common.LanguageString"/>
72
      <mapping class="eu.etaxonomy.cdm.model.common.LSID"/>
73
      <mapping class="eu.etaxonomy.cdm.model.common.LSIDAuthority"/>
74
      <mapping class="eu.etaxonomy.cdm.model.common.Marker"/>
75
      <mapping class="eu.etaxonomy.cdm.model.common.MarkerType"/>
76
      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTermBase"/>
77
      <mapping class="eu.etaxonomy.cdm.model.common.OrderedTermVocabulary"/>
78
      <mapping class="eu.etaxonomy.cdm.model.common.OriginalSourceBase"/>
79
      <mapping class="eu.etaxonomy.cdm.model.common.RelationshipTermBase"/>
80
      <mapping class="eu.etaxonomy.cdm.model.common.Representation"/>
81
      <mapping class="eu.etaxonomy.cdm.model.common.TermVocabulary"/>
82
      <mapping class="eu.etaxonomy.cdm.model.common.User"/>
83
      <!-- Description Package -->
84
      <mapping class="eu.etaxonomy.cdm.model.description.AbsenceTerm"/>
85
      <mapping class="eu.etaxonomy.cdm.model.description.CategoricalData"/>
86
      <mapping class="eu.etaxonomy.cdm.model.description.CommonTaxonName"/>
87
      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionBase"/>
88
      <mapping class="eu.etaxonomy.cdm.model.description.DescriptionElementBase"/>
89
      <mapping class="eu.etaxonomy.cdm.model.description.Distribution"/>
90
      <mapping class="eu.etaxonomy.cdm.model.description.Feature"/>
91
      <mapping class="eu.etaxonomy.cdm.model.description.FeatureNode"/>
92
      <mapping class="eu.etaxonomy.cdm.model.description.FeatureTree"/>
93
      <mapping class="eu.etaxonomy.cdm.model.description.KeyStatement"/>
94
      <mapping class="eu.etaxonomy.cdm.model.description.MediaKey"/>
95
      <mapping class="eu.etaxonomy.cdm.model.description.IndividualsAssociation"/>
96
      <mapping class="eu.etaxonomy.cdm.model.description.MeasurementUnit"/>
97
      <mapping class="eu.etaxonomy.cdm.model.description.Modifier"/>
98
      <mapping class="eu.etaxonomy.cdm.model.description.MultiAccessKey"/>
99
      <mapping class="eu.etaxonomy.cdm.model.description.PolytomousKey"/>
100
      <mapping class="eu.etaxonomy.cdm.model.description.PolytomousKeyNode"/>
101
      <mapping class="eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase"/>
102
      <mapping class="eu.etaxonomy.cdm.model.description.PresenceTerm"/>
103
      <mapping class="eu.etaxonomy.cdm.model.description.QuantitativeData"/>
104
      <mapping class="eu.etaxonomy.cdm.model.description.Scope"/>
105
      <mapping class="eu.etaxonomy.cdm.model.description.Sex"/>
106
      <mapping class="eu.etaxonomy.cdm.model.description.SpecimenDescription"/>
107
      <mapping class="eu.etaxonomy.cdm.model.description.Stage"/>
108
      <mapping class="eu.etaxonomy.cdm.model.description.State"/>
109
      <mapping class="eu.etaxonomy.cdm.model.description.StateData"/>
110
      <mapping class="eu.etaxonomy.cdm.model.description.StatisticalMeasure"/>
111
      <mapping class="eu.etaxonomy.cdm.model.description.StatisticalMeasurementValue"/>
112
      <mapping class="eu.etaxonomy.cdm.model.description.TaxonDescription"/>
113
      <mapping class="eu.etaxonomy.cdm.model.description.TaxonInteraction"/>
114
      <mapping class="eu.etaxonomy.cdm.model.description.TaxonNameDescription"/>
115
      <mapping class="eu.etaxonomy.cdm.model.description.TextData"/>
116
      <mapping class="eu.etaxonomy.cdm.model.description.TextFormat"/>
117
      <mapping class="eu.etaxonomy.cdm.model.description.WorkingSet"/>
118
      <!-- Location Package -->
119
      <mapping class="eu.etaxonomy.cdm.model.location.Continent"/>
120
      <mapping class="eu.etaxonomy.cdm.model.location.NamedArea"/>
121
      <mapping class="eu.etaxonomy.cdm.model.location.NamedAreaLevel"/>
122
      <mapping class="eu.etaxonomy.cdm.model.location.NamedAreaType"/>
123
      <mapping class="eu.etaxonomy.cdm.model.location.ReferenceSystem"/>
124
      <mapping class="eu.etaxonomy.cdm.model.location.Point"/>
125
      <mapping class="eu.etaxonomy.cdm.model.location.TdwgArea"/>
126
      <mapping class="eu.etaxonomy.cdm.model.location.WaterbodyOrCountry"/>
127
      <!-- Media Package -->
128
      <mapping class="eu.etaxonomy.cdm.model.media.AudioFile"/>
129
      <mapping class="eu.etaxonomy.cdm.model.media.ImageFile"/>
130
      <mapping class="eu.etaxonomy.cdm.model.media.Media"/>
131
      <mapping class="eu.etaxonomy.cdm.model.media.MediaRepresentation"/>
132
      <mapping class="eu.etaxonomy.cdm.model.media.MediaRepresentationPart"/>
133
      <mapping class="eu.etaxonomy.cdm.model.media.MovieFile"/>
134
      <mapping class="eu.etaxonomy.cdm.model.media.ReferencedMediaBase"/>
135
      <mapping class="eu.etaxonomy.cdm.model.media.Rights"/>
136
      <mapping class="eu.etaxonomy.cdm.model.media.RightsTerm"/>
137
      <!-- Molecular Package -->
138
      <mapping class="eu.etaxonomy.cdm.model.molecular.DnaSample"/>
139
      <mapping class="eu.etaxonomy.cdm.model.molecular.GenBankAccession"/>
140
      <mapping class="eu.etaxonomy.cdm.model.molecular.Locus"/>
141
      <mapping class="eu.etaxonomy.cdm.model.molecular.PhylogeneticTree"/>
142
      <mapping class="eu.etaxonomy.cdm.model.molecular.Sequence"/>
143
      <!-- Name Package -->
144
      <mapping class="eu.etaxonomy.cdm.model.name.BacterialName"/>
145
      <mapping class="eu.etaxonomy.cdm.model.name.BotanicalName"/>
146
      <mapping class="eu.etaxonomy.cdm.model.name.CultivarPlantName"/>
147
      <mapping class="eu.etaxonomy.cdm.model.name.HomotypicalGroup"/>
148
      <mapping class="eu.etaxonomy.cdm.model.name.HybridRelationship"/>
149
      <mapping class="eu.etaxonomy.cdm.model.name.HybridRelationshipType"/>
150
      <mapping class="eu.etaxonomy.cdm.model.name.NameRelationship"/>
151
      <mapping class="eu.etaxonomy.cdm.model.name.NameRelationshipType"/>
152
      <mapping class="eu.etaxonomy.cdm.model.name.NameTypeDesignation"/>
153
      <mapping class="eu.etaxonomy.cdm.model.name.NameTypeDesignationStatus"/>
154
      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalCode"/>
155
      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalStatus"/>
156
      <mapping class="eu.etaxonomy.cdm.model.name.NomenclaturalStatusType"/>
157
      <mapping class="eu.etaxonomy.cdm.model.name.NonViralName"/>
158
      <mapping class="eu.etaxonomy.cdm.model.name.Rank"/>
159
      <mapping class="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation"/>
160
      <mapping class="eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus"/>
161
      <mapping class="eu.etaxonomy.cdm.model.name.TaxonNameBase"/>
162
      <mapping class="eu.etaxonomy.cdm.model.name.TypeDesignationBase"/>
163
      <mapping class="eu.etaxonomy.cdm.model.name.ViralName"/>
164
      <mapping class="eu.etaxonomy.cdm.model.name.ZoologicalName"/>
165
      <!-- Occurence Package -->
166
      <mapping class="eu.etaxonomy.cdm.model.occurrence.Collection"/>
167
      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivationEvent"/>
168
      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivationEventType"/>
169
      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivedUnit"/>
170
      <mapping class="eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase"/>
171
      <mapping class="eu.etaxonomy.cdm.model.occurrence.DeterminationEvent"/>
172
      <mapping class="eu.etaxonomy.cdm.model.occurrence.DeterminationModifier"/>
173
      <mapping class="eu.etaxonomy.cdm.model.occurrence.FieldObservation"/>
174
      <mapping class="eu.etaxonomy.cdm.model.occurrence.Fossil"/>
175
      <mapping class="eu.etaxonomy.cdm.model.occurrence.GatheringEvent"/>
176
      <mapping class="eu.etaxonomy.cdm.model.occurrence.LivingBeing"/>
177
      <mapping class="eu.etaxonomy.cdm.model.occurrence.Observation"/>
178
      <mapping class="eu.etaxonomy.cdm.model.occurrence.PreservationMethod"/>
179
      <mapping class="eu.etaxonomy.cdm.model.occurrence.Specimen"/>
180
      <mapping class="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase"/>
181
      <!-- Reference Package -->
182
      <mapping class="eu.etaxonomy.cdm.model.reference.Reference"/>
183
      <!--
184
      <mapping class="eu.etaxonomy.cdm.model.reference.Article"/>
185
      <mapping class="eu.etaxonomy.cdm.model.reference.Book"/>
186
      <mapping class="eu.etaxonomy.cdm.model.reference.BookSection"/>
187
      <mapping class="eu.etaxonomy.cdm.model.reference.CdDvd"/>
188
      <mapping class="eu.etaxonomy.cdm.model.reference.Database"/>
189
      <mapping class="eu.etaxonomy.cdm.model.reference.Generic"/>
190
      <mapping class="eu.etaxonomy.cdm.model.reference.InProceedings"/>
191
      <mapping class="eu.etaxonomy.cdm.model.reference.Journal"/>
192
      <mapping class="eu.etaxonomy.cdm.model.reference.Map"/>
193
      <mapping class="eu.etaxonomy.cdm.model.reference.Patent"/>
194
      <mapping class="eu.etaxonomy.cdm.model.reference.PersonalCommunication"/>
195
      <mapping class="eu.etaxonomy.cdm.model.reference.PrintedUnitBase"/>
196
      <mapping class="eu.etaxonomy.cdm.model.reference.PrintSeries"/>
197
      <mapping class="eu.etaxonomy.cdm.model.reference.Proceedings"/>
198
      
199
      
200
     <mapping class="eu.etaxonomy.cdm.model.reference.ReferenceIdentity"/>
201
      <mapping class="eu.etaxonomy.cdm.model.reference.Report"/>
202
      <mapping class="eu.etaxonomy.cdm.model.reference.SectionBase"/>
203
      <mapping class="eu.etaxonomy.cdm.model.reference.Thesis"/>
204
      <mapping class="eu.etaxonomy.cdm.model.reference.WebPage"/>
205
      -->
206
      <!-- Taxon Package -->
207
      <mapping class="eu.etaxonomy.cdm.model.taxon.Synonym"/>
208
      <mapping class="eu.etaxonomy.cdm.model.taxon.SynonymRelationship"/>
209
      <mapping class="eu.etaxonomy.cdm.model.taxon.SynonymRelationshipType"/>
210
      <mapping class="eu.etaxonomy.cdm.model.taxon.Taxon"/>
211
      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonBase"/>
212
      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonNode"/>
213
      <mapping class="eu.etaxonomy.cdm.model.taxon.Classification"/>
214
      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonRelationship"/>
215
      <mapping class="eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType"/>
216
      <!-- View Package -->
217
      <mapping class="eu.etaxonomy.cdm.model.view.View"/>
218
      <mapping class="eu.etaxonomy.cdm.model.view.AuditEvent"/>
219
      <!-- for filling caches -->	  
220
	  <event type="save-update">
221
     		<listener class="eu.etaxonomy.cdm.persistence.hibernate.CacheStrategyGenerator"/>
222
     		<listener class="org.hibernate.event.def.DefaultSaveOrUpdateEventListener"/>
223
     		<listener class="eu.etaxonomy.cdm.persistence.hibernate.SaveOrUpdateEntityListener"/>
224
      </event>
225
      <event type="save">
226
          <listener class="eu.etaxonomy.cdm.persistence.hibernate.CacheStrategyGenerator"/>
227
     	  <listener class="eu.etaxonomy.cdm.persistence.hibernate.SaveEntityListener"/>
228
          <listener class="org.hibernate.event.def.DefaultSaveEventListener"/>
229
      </event>
230
      <event type="update">
231
          <listener class="eu.etaxonomy.cdm.persistence.hibernate.CacheStrategyGenerator"/>
232
     	  <listener class="eu.etaxonomy.cdm.persistence.hibernate.UpdateEntityListener"/>
233
          <listener class="org.hibernate.event.def.DefaultUpdateEventListener"/>
234
      </event>
235
      <event type="delete">
236
      		<listener class="eu.etaxonomy.cdm.persistence.hibernate.CdmDeleteListener"/>
237
      		<listener class="org.hibernate.event.def.DefaultDeleteEventListener"/>
238
      </event>
239
      <event type="post-insert">
240
            <listener class="org.hibernate.envers.event.AuditEventListener"/>
241
            <listener class="eu.etaxonomy.cdm.persistence.hibernate.CdmPostDataChangeObservableListener"/>
242
        </event>
243
        <event type="post-load">
244
            <listener class="eu.etaxonomy.cdm.persistence.hibernate.CdmPostDataChangeObservableListener"/>
245
        </event>
246
        <event type="post-update">
247
            <listener class="org.hibernate.envers.event.AuditEventListener"/>
248
            <listener class="eu.etaxonomy.cdm.persistence.hibernate.CdmPostDataChangeObservableListener"/>
249
        </event>
250
        <event type="post-delete">
251
            <listener class="org.hibernate.envers.event.AuditEventListener"/>
252
            <listener class="eu.etaxonomy.cdm.persistence.hibernate.CdmPostDataChangeObservableListener"/>
253
        </event>
254
        <event type="pre-collection-update">
255
            <listener class="org.hibernate.envers.event.AuditEventListener"/>
256
        </event>
257
        <event type="pre-collection-remove">
258
            <listener class="org.hibernate.envers.event.AuditEventListener"/>
259
        </event>
260
        <event type="post-collection-recreate">
261
            <listener class="org.hibernate.envers.event.AuditEventListener"/>
262
        </event>
263
    </session-factory>
264
</hibernate-configuration>
(3-3/6)