If the child entity has only ever one parent type, then there is no need for a join table.
I've done this with JPA (with a hibernate impl.).
Advantages:
One less table.
Perhaps better performance.
No "what is this table for?" type questions.
Disadvantage:
From the OO perspective there is an additional dependency between child and parent introduced. In practice this is probably not such a big deal, since the relationship is private in the child.
e.g.
parent:
@OneToMany(mappedBy = "parent", cascade = CascadeType.ALL)
@MapKey(name = "name")
private Map children;
child:
@ManyToOne(optional = false)
private Parent parent;