Може би трябва да посочите име на схема в името на таблицата за присъединяване:
@JoinTable(
name="persons_countries_residence", schema="persons",
joinColumns=@JoinColumn(name="person_id", referencedColumnName="id"),
inverseJoinColumns=@JoinColumn(name="country_id", referencedColumnName="id"))