kaniagostyn *UKS Kania Gostyń
set lazy="true". Witam!
Chciałem się dopytać czy wg. waszych wiadomości i doświadczeń :
<set name="children" lazy="true" inverse="true"
<key column="parent_id"/
<one-to-many class="net.sf.test.Child"/
</set
<set lazy="true".... działa poprawnie.
Wyczytałem w pewnej książce, że set nie onsługuje lazy loading.
czy możecie to potwierdzić?
Chodzi mi zarówno o wersję 2 i 3 hibernate.
Dzięki,
jk
hibernate mapowanie kluczy obcych xml. Po jednej stronie musisz dodać inverse="true"m np.:
<set name="listy" table="listy" lazy="true" inverse="true"
cascade="all"
W zasadzie wszystko jedno po której stronie to będzie.
Dodawanie osób do listy wygląda po prostu tak, że osobie do zbioru jej list
dodajesz wybraną listę, a w tej liście do zbioru osób dodajesz osobę.
Przy masowych operacjach może się przydać to:
http://www.hibernate.org/hib_docs/reference/en/html/batch-direct.html
Pozdrawiam
Jarek
spring & hibernate. Rafal pisze:
Interesuje mnie sposób dzialania springowego:
getHibernateTemplate
Tzn, konkretnie, co dzieje się z sesją.
Kiedu jest otwierana i kiedy zamykana.
W poniższym przykladzie dostaje hibernate'owy LazyInitializationException:
55. List<User users=UserDao.getHibernateTemplate().find("from User");
56. ((User)users.toArray()[0]).getReservations() <-- lazy exception
(te 2 polecenia wykonywane jedno za drugim)
Kiedys robilem cos w jakims projekcie ktory uzywal springa i hibernate i
przy takich poleceniach wszystko bylo ok.
Sesja nie ginela wraz z zakonczeniem getHibernateTemplate i mozna bylo
pobrac dodatkowe leniwe kolekcje.
Pamietam tylko ze podczas krokwego debugowania, jak się dłużej zatrzymałem
na jakiejś linijce to pozniej dostawalem wyjatek z timeout'em, ale to chyba
naturalne.
Czy potrzebne sa jakies dodatkowe konfiguracje zeby nie wyskakiwal
exception?
Czy takie zachowanie ze strony springa, hibernate'a jest naturalne (2
polecenia obok siebie), czy wina lezy po stronie mojej konfiguracji?
Możesz też zerknąć jak to robi
org.springframework.orm.hibernate.support.OpenSessionInViewFilter
Hibernate - pytanie o sposób na pracę z "lazy loadingiem". Witam!
Po przeszukaniu grupy i wielu zasobów internetu został mi wielki
mętlik w głowie jeśli chodzi o sposób pracy z leniwym ładowaniem
obiektów w Hibernacie, w którym próbuję się od niedawana odnaleźć.
Problem pojawił się przy próbie pisania obiektów DAO, w których
otwieram i zamykam sesję i w których chciałem zaimplementować CRUD'a
(czy nie jest to przypadkiem przykład niesławnego anty-wzorca session-
per-operation?).
Oczywiście wyskoczył mi wyjątek LazyInitializationException w momencie
próby dostępu do kolekcji odłączonego(detached) obiektu, po jego
wcześniejszym wczytaniu z bazy danych
Moja aplikacja, nie jest aplikacją webową(nie mam doświadczenia, jeśli
chodzi o takie aplikacje, ale orientuję się,że w moim przypadku raczej
nie użyję wzorca session-per-request :) Chciałbym dać metodom z
warstwy logiki łatwy i przyjemny dostęp do bazy danych.
Pytanie: W jaki sposób moje metody mają współpracować z hibernatem?
Czy otwierać sesję na początku każdej metody, która skorzysta choćby w
jednym miejscu z listy odczytanej z bazy danych? (Intuicja podpowiada
NIE, chociaż żądnego bezpośredniego argumentu przeciwko takiemu
działaniu w sieci nie znalazłem).
Dziękuje z góry za wszelkie porady, wskazówki oraz odnośniki do miejsc
w sieci, które będą mogły mi pomóc.
Szczególnie przydatny byłby dla mnie przykład niewielkiej aplikacji,
odpowiadający mojemu problemowi.
Pozdrawiam sedecznie
ejb i lazy loading. Witam,
Narazie zabieram sie do EJB od strony teoretycznej i mam takie
przemyslenie. Technologie mapowania, dajmy na to hibernate umozliwiaja
stworzenie obiektow proxy, ktore przechowuja jedynie klucz glowny
obiektu, ktory reprezentuja oraz kawalek kodu, ktory w razie potrzeby
wypelni wartosciami atrybuty obiektu. Logika takiego obiektu potrzebuje
polaczenia do bazy danych. Co sie zatem stanie, gdy encja zawinieta
obiektem proxy zostanie zwrocona jako wynik wywolania metody zdalnego
obiektu? Jakie sa scenariusze? Gdzie szukac odpowiedzi na tego typu pytania?
Pozdrawiam,
Bartosz
LazyInitialization. hej
Jak powinna poprawnie wygladac praca z kolekcjami lazy?
Np znajduje obiekt Uzytkownik, ktory ma kolekcję Rzeczy.
Na formatce wyświetlam szczegoly uzytkownika, a nastepnie liste rzeczy.
Czy powinienem:
a)wywolac Hibernate.initialize na kolekcji
b)wywolac ponownie wyszukiwanie (tylko po co mi wtedy kolekcja w Entity)
c)skorzystac z jakiejs cechy framework'a (Seam)
Marx
zanotowane.pldoc.pisz.plpdf.pisz.plshirli.pev.pl