Tworzenie trwałej encji Java z trwałymi polami

W tej sekcji szybkiego startu przedstawiono proces tworzenia nowej trwałej encji Java. Dowiesz się, jak utworzyć encję, którą można następnie powiązać z tabelą w bazie danych. Konieczne będzie też dodanie tabeli ADDRESS do bazy danych.

  1. Wybierz projekt JPA w nawigatorze lub Eksploratorze projektów, a następnie kliknij opcję Nowy > Inne. Zostanie wyświetlone okno dialogowe Wybór kreatora.

  2. Wybierz opcję JPA > Encja, a następnie kliknij przycisk Dalej. Zostanie wyświetlona strona Klasa encji.

  3. Wpisz nazwę pakietu (na przykład quickstart.demo.model), nazwę klasy (na przykład Address), a następnie kliknij przycisk Dalej. Zostanie wyświetlona strona Właściwości encji umożliwiająca zdefiniowanie pól trwałości, które zostaną odwzorowane na kolumny tabeli bazy danych.

  4. Dodaj pola trwałości do klasy Address, używając okna dialogowego Pola encji (wywoływanego przez kliknięcie przycisku Dodaj):

    private Long id;
    private String city;
    private String country;
    private String stateOrProvince;
    private String postalCode;
    private String street;
    

    Uwaga:

    Konieczne będzie też dodanie następujących kolumn do tabeli ADDRESS w bazie danych:
    NUMBER(10,0) ADDRESS_ID (klucz podstawowy)
    VARCHAR2(80) PROVINCE
    VARCHAR2(80) COUNTRY
    VARCHAR2(20) P_CODE
    VARCHAR2(80) STREET
    VARCHAR2(80) CITY
    

  5. Kliknij przycisk Zakończ. Po zakończeniu tworzenia encji JPA encja Address zostanie wyświetlona w widoku struktury JPA środowiska Eclipse.

    Plik Address.java zawiera adnotację @Entity, pola trwałości, metodę pobierającą (getter) i metodę ustawiającą (setter) dla każdego z pól.

Encja Address w pliku Address.java

Edytor Java z encją Address.

Encja Address zostanie też wyświetlona w widoku Struktura JPA:

Encja Address w widoku struktury JPA

Plik Address.java w widoku struktury JPA
  1. Wybierz klasę Address w widoku Eksplorator projektów.

  2. Zwróć uwagę, że w widoku Szczegóły JPA moduł Dali automatycznie powiązał tabelę ADDRESS bazy danych z obiektem, ponieważ mają one taką samą nazwę.


    Uwaga:

    W zależności od typu połączenia z bazą danych, może być konieczne określenie Schematu.

    Encja Address w widoku Szczegóły JPA

    Plik Address.java w widoku szczegółów JPA

Wskazówka:

Po zdefiniowaniu powiązania encji z tabelą bazy danych należy zaktualizować plik persistence.xml, aby uwzględniał on tę encję JPA.

Kliknij prawym przyciskiem myszy plik persistence.xml w Eksploratorze projektów i wybierz opcję Narzędzia JPA > Synchronizuj listę klas. Moduł Dali doda następujący wpis do pliku persistence.xml:

<class>quickstart.demo.model.Address</class>


Teraz można przystąpić do odwzorowywania poszczególnych pól klasy Address na kolumny w tabeli w bazie danych.

  1. W widoku Szczegóły JPA wybierz pole id.

  2. Kliknij prawym przyciskiem myszy identyfikator, a następnie wybierz opcję Odwzoruj jako > id.

  3. W widoku Szczegóły JPA wybierz wartość ADDRESS_ID dla pola Nazwa:

    Widok szczegółów JPA dla pola addressId

    Widok szczegółów JPA dla atrybutu id encji Address

    Środowisko Eclipse doda do encji Address następujące adnotacje:

    @Id
    @Column(name="ADDRESS_ID")
    
  4. Odwzoruj każde z następujących pól na odpowiednią kolumnę w bazie danych (odwzorowanie typu Basic):

    Pole Odwzoruj jako Kolumna w bazie danych
    city Podstawowe CITY
    country Podstawowe COUNTRY
    postalCode Podstawowe P_CODE
    provinceOrState Podstawowe PROVINCE
    street Podstawowe STREET

Moduł Dali automatycznie odwzorowuje niektóre pola na poprawne kolumny bazy danych (na przykład pole city na kolumnę City), jeśli ich nazwy są identyczne.