This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
[P-276 od EJB3 In Action book] states:
"In a bidirectional relationship, the owning side of the relationship is the entity that stores the relationship in its underlying table."
Now, consider the same example of User and BillingInfo.
USER has USER_ID(PK)
BILLING_INFO has BILLING_USER_ID (PK + FK)
Now as BILLING_INFO table contains the FK, BillingInfo entity is the owning side of the relationship.
Now according to the owning side definition, the classes should be:
protected Long userId;