Acho que nunca li nada sobre isso, se alguem possuir bibliografia, por favor compartilhe.
Todo mundo que ja estudou um pouquinho de OOP sabe que existem diversos tipos catalogados de relacionamento entre objetos, mas vou focar tres: Agregaçao, Composiçao e Associaçao (Aggregation, Composition e Association).
E impossivel (pelo menso que eu saiba) definir um relacionamento destes declarativamente em Java < 5. Quando voce faz:
class A{
private B b;
}
Nao da para imaginar que tipo de relaçao A e B tem, voce vai rpecisar olhar o codigo. Geralmente compostos vao ser instanciados (ou pegos de algum lugar de forem Value Objects ou coisa parecida) diretamente na classe (na declaraçao do atributo ou no cosntrutor dessa), associaçoes geralmente sao setadas.
Com o uso de annotations, daria para amrcar essas relaçoes, definindo o que eh de qual tipo. O que voces acham disso?
Em primeira instancia, coisas como persistencia poderiam ser facilitadas (quando um objeto e atualizado, seus agregados tambem devem ser, mas nao seus associados), e outros usos podem surgir.
Alguma opiniao?

