Wpis z mikrobloga

@Brodeon: Mam problem z fetch LAZY w JPA. Mam w obiekcie zmienną która jest obiektem z annotacją @OneToOne i fetch type LAZY. Gdy próbuję zmienić wartość pewnej zmiennej z annotacją @Transactional w tym obiekcie z annotacją @OneToOne to że tak powiem nie działa to. Gdy zmieniłem na Eager to od razu zadziałała zmiana tej zmiennej. W przypadku gdy była Lazy to próbowałem zrobić Hibernate.unproxy(obiektZLazy) i niestety nie zadziałało. Ktoś mi może wyjaśnić dlaczego to nie ma prawa działać? #jpa #java #spring
  • 9
  • Odpowiedz
@kam3o: Udało mi się zrobić to co chciałem. Troszeczkę źle wywoływałem Hibernate.unproxy. Gdy zrobiłem unproxy obiektu to w obiekcie którego wyciągnąłem z proxy zmieniłem wartość tej zmiennej a potem wsadziłem z powrotem do pola z OneToOne
  • Odpowiedz
@kam3o: Na początku myślałem że jeśli obiekt jest w proxy to zmiana wartości pola z annotacją @Transient będzie widoczne w JSONie. Natomiast gdy składało JSONa to nagle ta wartość nie była taka jaką ustawiłem tylko domyślna w tym przypadku dla boolean to false. Mogłem robić sout tego pola i by wyświetlało takie jakie ja ustawiłem wartości natomiast na końcu i tak szło się to walić
  • Odpowiedz