CONTENTS 9.5 XDoclet 372 9.6 Summary 376 appendix A:SOL fimndamentals 378 appendix B:ORM implementation strategies 382 B.1 Properties or fields?383 B.2 Dirty-checking strategies 384 appendix C:Back in the real world 388 C.1 The strange copy 389 C.2 The more the better 390 C.3 We don't need primary keys 390 C.4 Time isn't linear 391 C.5 Dynamically unsafe 391 C.6 To synchronize or not?392 C.7 Really fat client 393 C.8 Resuming Hibernate 394 references 395 index 397 x CONTENTS 9.5 XDoclet 372 Setting value type attributes 372 ■ Mapping entity associations 374 ■ Running XDoclet 375 9.6 Summary 376 appendix A: SQL fundamentals 378 appendix B: ORM implementation strategies 382 B.1 Properties or fields? 383 B.2 Dirty-checking strategies 384 appendix C: Back in the real world 388 C.1 The strange copy 389 C.2 The more the better 390 C.3 We don’t need primary keys 390 C.4 Time isn’t linear 391 C.5 Dynamically unsafe 391 C.6 To synchronize or not? 392 C.7 Really fat client 393 C.8 Resuming Hibernate 394 references 395 index 397 Licensed to Jose Carlos Romero Figueroa <jose.romero@galicia.seresco.es>