Ola Pessoal,
Ao utilizar JPA existe algo como a tag do .hbm (http://docs.jboss.org/hibernate/stable/core/reference/en/html/mapping.html)
em anotação ou mesmo através de XML ?
Ela é útil nos casos em que você tem um banco com uma tabela que possui mais de um objeto de dominio do sistema.
eu não acho legal para as classes que necessitam se relacionar com esta, pois ela irá sempre copiar como o relacionamento é feito, ou seja, necessitará do mesmo component ou columns/keys mapeado nas outras classes, como exemplo abaixo:
mapeando a classe OrderLine
[code]
<composite-id name="id" class="OrderLineId">
<key-property name="lineId"/>
<key-property name="orderId"/>
<key-property name="customerId"/>
</composite-id>
<property name="name"/>
<many-to-one name="order" class="Order"
insert="false" update="false">
<column name="orderId"/>
<column name="customerId"/>
</many-to-one>
....
[/code]mapeando um relacionamento de 1:N para classe OrderLine
[code]
<column name="lineId"/>
<column name="orderId"/>
<column name="customerId"/>
[/code]ao invés disto eu prefiro utilizar uma classe representar o relacionamento, quando este relacionamento também é visualizado por mais de uma classe
o exemplo acima retirei do site
http://docs.jboss.org/hibernate/stable/core/reference/en/html/components-compositeid.html