Вы описываете отношение OneToMany, для которого обычно не требуется таблица соединений. У вас просто есть поле на стороне Многих, которое ссылается на Одну сторону.
Однако, если вы действительно хотите делать то, что делаете, то это должно сработать:
@Entity
public class Person {
...
@OneToMany
@JoinTable(
name="PersonAddress",
joinColumns = @JoinColumn( name="personId"),
inverseJoinColumns = @JoinColumn( name="addressId")
)
public Set<Address> getAddresses() {...}
...
}