Piszę mój pierwszy projekt, w którym używam Hibernate i JPA. I tak sobie piszę i rozmyślam o nim i tak mnie naszło, czy ja coś źle robię, czy ORM jest taki cwany.
Mianowicie mam w klasie zbiór:
// adnotacje
private Set<Person> persons = new HashSet<Person>();
Dodaje do zbiory nowo utworzone osoby:
firm.getPersons().add(person1);
person1.setFirm(firm);
i zapisuję:
session.save(firm);
I teraz zastanawia mnie kwestia, czy HashSet nie będzie miał jakiś problemów z tym, ze Person zacznie zwracać innego hasha za pomocą hashCode(). Najpierw zwracał hasha wygenerowanego na podstawie pol i ID, które było nullem. Po zapisaniu do bazy ID zmieniło wartość na jakąś liczbę, więc hashCode() zwraca inną wartość.
Mógłby mi ktoś powiedzieć, czy to coś może spieprzyć? Jak sobie z tym radzić?