Hi Chaminda,
Embeddable Classes can be shared in an OO Context, by that i mean both BillingInfo and User can have reference to the same Address Object. But when Address is actually mapped as @Embedded, the Address fileds are embedded separately in "both" BillingInfo Table and User Table and hence Address is not being shared by BillingInfo and User in the Relational World Context.
Now to answer the next question one should be good in EJB which i am not
. Embeddable classes are embedded into the Owner table. You can not mark your entity with @Embedded and mark the same with @SecondaryTable. This do not make much sense to me. I would like to know the real concept behind keeping the Embeddable Entity in the same Table. Because ideally if Address is sharable in the OO Context why not in Relational Context?