We believe that annotations are intrusive; they clutter the source code. Please see the KISS Principle #5 (http://softwaretree.com/v1/KISSPrinciples.html#Principles5) for many different reasons why we prefer using an external file for ORM specification.
Well, the mapping has to be specified somehow. Since we believe that defining mapping externally is a preferred way of doing things and we don't want to remove that option, having annotations also as an (ON/OFF) option for specifying mapping will unnecessarily complicate things because of the following reasons:
- People might have to learn two different ways of doing the same thing (i.e., defining ORM specification) - Overriding some or all of the mappings defined through annotations by mappings defined in an external file will create complicated semantics as there may not be one place to see the complete picture.
Because of these reasons, we don't think that giving an option to define an ORM specification through annotations is a good idea. Hope you agree.
Comments
Is it possible to have it ON and OFF as use specific settings?
- People might have to learn two different ways of doing the same thing (i.e., defining ORM specification)
- Overriding some or all of the mappings defined through annotations by mappings defined in an external file will create complicated semantics as there may not be one place to see the complete picture.
Because of these reasons, we don't think that giving an option to define an ORM specification through annotations is a good idea. Hope you agree.