Tworzenie entity bean.

0

Witam. Stworzyłem swoją bazę danych: ePrzychodnia w postgre i umieściłem w niej następującą tabelę:

CREATE TABLE users
(
  user_id integer NOT NULL,
  first_name character varying(25),
  last_name character varying(25),
  pesel character varying(11),
  email character varying(25),
  usertype character varying(25),
  login character varying(25),
  pass character varying(25),
  CONSTRAINT pk_users PRIMARY KEY (user_id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE users
  OWNER TO postgres;
 

Teraz chcę stworzyć entity bean w swoim projekcie EJB. Postępuję zgodnie z tutorialem:

1.In NetBeanse IDE right-click on JumpStartEjbJsf-ejb and select New > Entity Classes from Database…
2.In the New Entity Classes From Database dialog box select Data Source: jdbc/test_db.
3.In the New Database Connection that then pops up it should read the values from the table below…
4.Click OK.
5.On the next tab Advanced select Schema public.
6.Back in the New Entity Classes From Database dialog box add the Users table to Selected Tables.
7.Click Next.
8.Change the class name from Users to User
9.Fill in the package name lux.domain.
10.Click the Create Persistence Unit button and accept the defaults.
11.Uncheck Generate Named Query Annotations for Persistent Fields.
12.Click Finish.

Dochodzę do punktu 5, wszystko jest ok i w punkcie 6 następuję problem kiedy mam dodać tabelę. W sekcji Available tables nie widać żadnej tabeli. Dlaczego? Przecież stworzyło mi poprawnie połączenie z bazą. Wchodząc w zakładkę services->database jest moje połączenie. Jeśli je rozwinę wejdę w public->tables widzę swoją tabelę users. Zupełnie nie wiem czemu nie widać w podpunkcie 6 tej tabeli. Używam w projekcie Netbeans, glassfish, postgresql.

0

Pomoże ktoś? Może opisze od początku. Mam stworzoną bazę ePrzychodnia w postgresql i w niej tabele users jak widać na ss: http://zapodaj.net/cf5a1aa5f388e.jpg.html

W Netbeans postępuje tak jak w powyższej instrukcji napisano:

1.In NetBeanse IDE right-click on JumpStartEjbJsf-ejb and select New > Entity Classes from Database…
2.In the New Entity Classes From Database dialog box select Data Source: jdbc/test_db.---------------->tutaj daje jdbc/ePrzychodnia
3.In the New Database Connection that then pops up it should read the values from the table below…
4.Click OK.
5.On the next tab Advanced select Schema public.

Wszystko jest niby ok, tworzy połączenie itp: http://zapodaj.net/711b649d6c20b.jpg.html daje next wybieram public -> klikam finish i mam taki ekran: http://zapodaj.net/c2e5a226c6c8d.jpg.html

I nie mam żadnej tabeli w available tables. Dlaczego?

Do poniższych podpunktów nie mogę przejść bo mam zablokowany przycisk next.

6.Back in the New Entity Classes From Database dialog box add the Users table to Selected Tables.
7.Click Next.
8.Change the class name from Users to User
9.Fill in the package name lux.domain.
10.Click the Create Persistence Unit button and accept the defaults.
11.Uncheck Generate Named Query Annotations for Persistent Fields.
12.Click Finish.

1

Podrzuć linka do tutoriala, sprawdzę u mnie krok po kroku czy mam ten sam efekt.

0

I jak nie pomoże nikt? Bo ja już nie mam siły do tego i nie wiem co robić.

0

Ech, zrób to tak jak większość koderów -> generuj tabele w bazie na podstawie klas encyjnych a nie w drugą stronę. Wiem, to nie jest rozwiązanie problemu ;]

1

Czy mozesz podac informacje jak sie laczysz z baza ? jest to baza na serwerze czy typu embedded ? jak wyglada sciezka do bazy ?

Spojrzalem na ten tutorial i jest dosc stary , oczywiscie zacjowany jest sens i logika ale w najnowszym netbeans 7.3 z glashfishem i baza danych mozna zrobic to latwiej i szybciej. Powiedz mi kolego jaki projekt chcesz stworzyc ? aplikacja biznesowa z ejb czy aplikacja webowa oparta na jsf ?

0

Jadę krok po kroku wg tego tutoriala. Tworzę aplikację składającą się i z EJB i JSF. Z tym, że doszedłem tak jak pisałem wyżej do punktu 7. Z bazą jak widać połączenie jest: http://zapodaj.net/711b649d6c20b.jpg.html
Bazę stworzyłem w pgAdmin III i łącze się z zewnętrznym.
A masz może jakieś nowsze tutki albo coś polecasz?
W services mam połączenie: http://zapodaj.net/181ba13ba3fd7.jpg.html

1

olek1, sprawdziłem i u mnie również występuje ten sam problem (dowód w załączniku) Netbeans podłącza się do bazy co widać w Services/Databases

http://imageshack.us/a/img841/4374/ejberror.jpg

0

Czyli najlepiej by było gdybym zmienił bazę danych np. na MYSQL albo Oracla?

0

Tak, ale mam narzucone, że musi to być albo postgre, mysql albo oracle. To jak na postrgre nie da rady to muszę zmienić.

0

Mam jeszcze taki małe pytanie. Bo przeglądałem kilka tutoriali i zauważyłem, że różnie tworzony jest controller w tego typu aplikacjach opartych o wzorzec MVC. Niektórzy tworzą klasy i nazywają ja facade, a spotkałem się też, że rolę kontrolera pełni servlet. Z jakiego sposobu należy korzystać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1