konto usunięte

Temat: EJB 3.0 + Glassfish v3 + JPA + Postgresql

Witam!
Mam pewien problem: próbuję skonfigurować serwer glassfish do współpracy z postgresql-em. Wydaje się, że wszystko działa ok - dodałem sterowniki, utworzyłem pulę, sprawdziłem, czy pinguje - działa.
Następnym krokiem miało być skonfigurowanie pliku persistence.xml z EJB w taki sposób, aby entity beany były automatycznie tworzone w bazie - tj. struktura bazy była automatycznie tworzona. Niestety nie wiem jak to zrobić - przeglądnąłem sieć - nic, cisza. Próbowałem na kilka sposobów, niestety nie udało mi się (poprzednio robiłem zawsze na jbossie).

Może ktoś ma z Was doświadczenie w tego typu sytuacjach i napisałby/przedstawił odpowiednią konfigurację do poprawnego działania EJB z Glassfishem?
Łukasz A.

Łukasz A. Team Leader /
Software Architekt /
Senior Java
Developer

Temat: EJB 3.0 + Glassfish v3 + JPA + Postgresql

Uzywasz Glassfish v3, czyli twoim dostawca persystancji jest eclipse-link (chyba ze zmieniles). W pliku persistence.xml wystarczy dodac property:

<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="database"/>

drop-and-create-tables mowi o tym, ze za kazdym deployem - redeployem bedzie tworzony nowy schemat bazy danych. Jesli schemat ma byc raz wygenerowany a tylko ewentualne zmiany w strukturze tabel - encji maja byc odzwierciedlane uzyj opcji update.

I powinno hulac ;)

P.S. W JEE 5/6 nie ma juz entity beanow, teraz to sa poprostu entity (POJO + anotacje) ;)Łukasz A. edytował(a) ten post dnia 28.03.10 o godzinie 22:25

konto usunięte

Temat: EJB 3.0 + Glassfish v3 + JPA + Postgresql

Dzięki za informację, jutro przetestuję, czy wszystko będzie działać poprawnie.

Tak, tak :P masz rację :P taki nawyk z EJB < 3

Jeszcze jedno: czy baza zostanie automatycznie wygenerowana po zadeployowaniu aplikacji, czy trzeba wykonać jakieś inne czynności (w jbossie działo się to od razu).
Łukasz A.

Łukasz A. Team Leader /
Software Architekt /
Senior Java
Developer

Temat: EJB 3.0 + Glassfish v3 + JPA + Postgresql

Grzegorz Paniw:
Dzięki za informację, jutro przetestuję, czy wszystko będzie działać poprawnie.

Tak, tak :P masz rację :P taki nawyk z EJB < 3
>
Jeszcze jedno: czy baza zostanie automatycznie wygenerowana po zadeployowaniu aplikacji, czy trzeba wykonać jakieś inne czynności (w jbossie działo się to od razu).

Jezeli masz dobrze ustawiony datasource, a z tego co pisales ping dziala, to struktura bazy powinna wygenerowac sie automatycznie.

konto usunięte

Temat: EJB 3.0 + Glassfish v3 + JPA + Postgresql

Dalej niestety nie udało mi się :/
Obecnie mój plik persistence.xml wygląda następująco:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0...">
<persistence-unit name="unit1" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/__postgresql</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties> <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="database"/>
</properties>
</persistence-unit>
</persistence>

Na serwerze GlassFish utworzyłem "Connection Pools" o nazwie "Postgresql" (typ: javax.sql.DataSource, ping: działa), a następnie dodałem "JDBC Resources" bazujące na "Postgresql" z "Connection Pools" - nadałem mu nazwę: "jdbc/__postgresql" (oczywiście jest włączone).

Czy coś robię jeszcze źle?Grzegorz Paniw edytował(a) ten post dnia 29.03.10 o godzinie 18:21



Wyślij zaproszenie do