I understand the general difference between the two JPA annotations for JoinColumn and mappedBy, and that a oneToMany relationship should use mappedBy. I understand this is to ensure that hibernate (or whatever JPA tool I'm using) recognizes a bidirectional relationship, instead of two unidirectional relationships that happen to share columns.
However, I'd like a better understanding of why that matters? I presume that recognizing a bidirectional relationship allows for more optimal storing or fetching of the data, but could someone give me an example of how? If I have a Parent object with many Children objects and I annotate it with a JoinColumn instead of the preferred mappedBy where will I suffer a performance penalty over using mappedBy?