=?iso-8859-2?q?Poestgre_+_EJB_3.0_dziwne_=B3adowanie_kolekcji ?=
Gabcia85 - 14-12-2006 16:09
=?iso-8859-2?q?Poestgre_+_EJB_3.0_dziwne_=B3adowanie_kolekcji ?=
Witam, pisa?am juz na forum javy ale nikt nie mial chyba pomyslow, wiec postawnowilam uderzyc tutaj.
Ostatnio zmieni?am sobie baz? danych z mysql na postgre, zmienilam ds'a i dziwna rzecz mi si? dzieje.
Mam sobie np. kolekcj? obiektów np. Person List<Person> personList = new LinkedList<Person>();
i w mysql wczytuje mi wszystkie obiekty tak jak zosta?y wstawione do bazy.
Po przejsciu na postgre, obiekty s? wczytywane byle jak...mimo ze dalej mam list to kolekcja jest widoczna jak set. Dlaczego tak si? dzieje i jak mog? to poprawi??
Obiektów ->kolekcji nie wczytuj? poprzez EJB QL ani native query, lecz poprzez metod? em.find(..); Moze cos jest z moim ds'em, smama nie wiem dlaczego tak si? dzieje.
Oto moj plik ds dla mysql
<datasources> <local-tx-datasource> <jndi-name>MyDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/baza?useUnicode=true&characterEncoding=latin2</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>root</user-name> <password>root</password> <exception-sorter-class-name> org.jboss.resource.adapter.jdbc.vendor.MySQLExcept ionSorter </exception-sorter-class-name>
<metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource> </datasources>
i plik dla postgre:
<datasources> <local-tx-datasource> <jndi-name>MyDS</jndi-name>
<connection-url>jdbc:postgresql://localhost:5432/baza</connection-url> <driver-class>org.postgresql.Driver</driver-class> <user-name>postgres</user-name> <password>root</password>
<metadata> <type-mapping>PostgreSQL 8.2</type-mapping> </metadata> </local-tx-datasource> </datasources>
Chyba ze ?le co? ustawi?am w parametrach bazy, moze ma ktos ciekawy link do tutoriala jak ustawic polaczenie dla EJB 3.0?
=?ISO-8859-2?Q?Miko=B3aj_Rydzewski?= - 14-12-2006 16:09
Gabcia85 wrote:
> Ostatnio zmieni?am sobie baz? danych z mysql na postgre, zmienilam
Nie ma takiej bazy jak postgre.
> i w mysql wczytuje mi wszystkie obiekty tak jak zosta?y wstawione do > bazy. > > Po przejsciu na postgre, obiekty s? wczytywane byle jak...
Bo do sortowania sluzy 'order by' (badz odpowiednik w EJBQL). Sam select nie musi zwracac wierszy w jakims okreslonym porzadku.
-- Mikolaj Rydzewski <miki@ceti.pl> http://ceti.pl/~miki/ PGP KeyID: 8b12ab02 There are three kinds of people: men, women and unix.
sherkan - 14-12-2006 16:09
=?iso-8859-2?q?Re:_Poestgre_+_EJB_3.0_dziwne_=B3adowanie_kole kcji?=
Ale jak widzisz ona nie uzywa select'a tylko find i wczytuje caly obiekt z wszystkim tabelami(beanami), wi?c jako tako Entity Manager sam sobie tworzy pytanie.
Antoni Jakubiak - 14-12-2006 16:09
> i w mysql wczytuje mi wszystkie obiekty tak jak zosta?y wstawione do > bazy.
Tak jak napisali moi koledzy, mysql bardzo czesto (99%) zwraca obiekty w kolejnosci w jakiej byly wpisane do bazy. Jednak nie mozna opierac logiki aplikacji na tym.
Jezeli piszesz w JEE to wlasciwym z punktu widzenia architektury systemu miejscem na sortowanie danych jest kontroler, o ile widok (np JSF) sam tego nie potrafi zrobic. Przenosisz ciezar operacji z bazy danych na warstwe serwera aplikacji.
sherkan - 24-12-2006 00:37
Antoni Jakubiak napisał(a): > > i w mysql wczytuje mi wszystkie obiekty tak jak zostały wstawione do > > bazy. > > Tak jak napisali moi koledzy, mysql bardzo czesto (99%) zwraca obiekty > w kolejnosci w jakiej byly wpisane do bazy. Jednak nie mozna opierac > logiki aplikacji na tym. > > Jezeli piszesz w JEE to wlasciwym z punktu widzenia architektury > systemu miejscem na sortowanie danych jest kontroler, o ile > widok (np JSF) sam tego nie potrafi zrobic. Przenosisz > ciezar operacji z bazy danych na warstwe serwera aplikacji.
Problem juz rozwiążałem trzeba w Entity Bean'ach zadelklarowac adnotacje np. @OrderBy("xxx ASC") to powoduje wczytywanie elementów posortowanych wzgledem kolumny xxx
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
=?iso-8859-2?q?Co_oznacza_b=B3=B1d_Warning:_mysql=5Fconnect() _[function.mysql-connect]:_Can't_connect_to_local_MySQL_server_through_sock et_'/var/run/mysqld/mysqld.sock'_(2)_in?=
=?iso-8859-2?q?Ati_Mobility_Radeon_X300_W_Notebooku_Jak_Zwi=E Akszy=E6_Ilo=B6=E6_Grafiki_Poprzez_Wsp=F3=B3dziele nie_Z_Ramu=3F=3F=3F?=
=?ISO-8859-2?Q?=AFegnam_si=EA=2E=2E=2E?=
Manager =?ISO-8859-2?Q?font=F3w=2E=2E=2E?=
zanotowane.pldoc.pisz.plpdf.pisz.ploefg.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|