Hi Ellis,
the difference is on how the relationship between the two entities is persisted. Using @JoinColumn a foreign key column will be used within the entity defining the annotation. Using @PrimaryKeyJoinColumn no additional column is needed since both entities share the same primary key. There is also a third option using @JoinTable.
The question regarding which option to choose is a matter of taste. If you have the freedom to start from scratch I would go with the default (JoinColumn). The other options allow you to integrate for example with existing databases where the schema cannot be modified.
Have a look at the online documentation:
http://www.hibernate.org/hib_docs/annotations/reference/en/html_single/#entity-mapping-association
--Hardy