Używam adnotacji w trybie hibernacji. Jak dodać metody do obiektu POJO? Na przykład mam metodę "getChildNodes", powiązaną z bazą danych, ale chcę również dodać metodę rekurencyjną "getAllChildNodes". Otrzymuję "org.hibernate.PropertyNotFoundException: Nie można znaleźć programu ustawiającego dla postępu właściwości w klasie", gdy robię to.Adnotacje Java, Hibernate, Jak dodać metody do obiektu POJO?
Odpowiedz
Gdybym interpretują to jako „jak mogę dodać metodę, która nie jest związana z wytrwałości” to trzeba użyć @Transient
adnotacji o sposobie getAllChildNodes()
Jestem zdezorientowany. Czy dodanie dodatkowych funkcji, takich jak na przykład getAllChildNodes() lub publish(), nie czyni już POJO? I w związku z tym narusza zasadę projektowania obiektów hibernacji, które mają być POJO i dlatego jest "zły"? Ale dlaczego miałoby to być złe? Chcę to zrobić, ale nie jestem pewien, czy to właściwa droga. – pete
Otwórz plik .java i wpisz metodę o nazwie getAllChildNodes()
.
Hibernate nie zapisuje kodu, odwzorowuje pola w bazie danych na kod. To wszystko. Jeśli chcesz mieć dodatkową logikę w swojej domenie/klasie modelu oprócz normalnych pobierających i ustawiających dla twoich właściwości, będziesz musiał dodać je sam.
Istnieją dwa sposoby definiowania struktury swojej jednostki .
- wykorzystujące adnotacje dotyczące zmiennych instancji swojego podmiotu lub
- wykorzystaniem adnotacji na getter swojego podmiotu
Podczas korzystania z adnotacji na getter, Hibernate zakłada, że każdy getXXX (i isXxx dla typów boolean) reprezentuje definicję trwałej właściwości. I to się dzieje, nawet jeśli ten konkretny getter nie zawiera żadnych adnotacji, tak jak dzieje się to w twoim przypadku.
Hibernacja oczekuje również znalezienia pasującej metody setera dla każdej trwałej właściwości. W twoim przypadku to, czego brakuje, powoduje wyjątek.
Możesz rozwiązać ten problem, deklarując własny getter jako @Transient
, który mówi, że ten wynik nie reprezentuje właściwości trwałej. Innym sposobem byłoby przekonwertowanie encji na adnotacje na zmiennych instancji. Ten drugi byłby moim osobistym wyborem.
- 1. Jak dodać nowe metody do obiektu jQuery?
- 2. Jak dodać dekorator do istniejącej metody obiektu?
- 3. Jak uzyskać adnotacje metody Java do pracy w scala
- 4. Simple Java Xml do mapowania/wiązania POJO?
- 5. Jak dodać metody fabryki do istniejącej klasy Java w Scala
- 6. jak dynamicznie dodać metody obserwatora do obiektu ember.js
- 7. Adnotacje adaptera Java
- 8. Adnotacje Java enum Singleton
- 9. Pojo do generacji xsd
- 10. mapie listę ciągów z JPA/Hibernate Adnotacje
- 11. Nazwany kwerendy nie wiadomo - Adnotacje i Hibernate
- 12. adnotacje java: biblioteka zastępująca adnotacje plikami xml
- 13. adnotacje pozyskujących dla Java
- 14. Jak wybrać klasę obiektu w HIbernate HQL?
- 15. SQLAlchemy - czy możesz dodać niestandardowe metody do obiektu zapytania?
- 16. Próba mapowania wyrażeń postgresowych na Hibernate/JPA pojo
- 17. Jak dodać obiekt do niezanalizowanej listy Java?
- 18. Jak dodać wywołanie zwrotne do metody .apply()?
- 19. Jak dodać opis do metody lub klasy
- 20. Jak dodać punkt przerwania do obiektu objc_exception_throw?
- 21. mikser - jak dodać kolor do obiektu?
- 22. Jak dodać nazwę NoteProperty do obiektu?
- 23. Jak działają adnotacje danych?
- 24. Jak dodać parametr do metody/metody indeksowania szyn?
- 25. Spring Security: Java Config: Jak dodać typ metody?
- 26. Co dokładnie oznacza termin Plain Old Java Object (POJO)?
- 27. Parsowanie JSON do Java POJO za pomocą GSON
- 28. Serialize POJO do JSON z GSON
- 29. Jak dodać NSMutableArray do obiektu NSMutableArray Objective-c
- 30. Różne reprezentacje UUID w Java Hibernate i SQL Server
pokazać swój kod. – Bozho