Jeg kom her og ledte efter de samme svar. Det viser sig, at problemet er, at JPA ikke ved, at din genstand er beskidt. Dette blev løst ved at implementere equals()/hashcode() metoder på dette komplekse objekt. I dit eksempel skal du implementere equals og hashcode for ProjectProperty
Når det er gjort, er JPA via disse metoder i stand til at identificere, at det underliggende objekt er snavset og konverterer og fortsætter.