Gerenciando associações bidirecionais no meu modelo java
Eu tenho um modelo java onde as classes têm associações (1 para 1, 1 para n, n para n) que devem funcionar em ambas as direções.
Exemplo: a classe A possui uma coleção de classes B
Todas as instâncias de B devem saber quem é seu pai (A). Se eu alterar a propriedade pai de B, a associação também precisará ser atualizada no outro lado.
Eu acho que escrever código, que mantém as associações atualizadas em ambos os lados, é bastante entediante e propenso a erros.
Então: Existe uma maneira melhor de fazer isso? Existe uma biblioteca java que pode gerenciar associações bidirecionais entre dois objetos?