Article View: pl.comp.lang.java
Article #141985Re: Geronimo i połączenie z bazą danych
From: Beniamin
Date: Wed, 29 Oct 2008 14:05
Date: Wed, 29 Oct 2008 14:05
89 lines
4932 bytes
4932 bytes
alien pisze:
> Witam,
>
> powoli zaczynam sobie już włosy z głowy wyrywać, bo nie mogę sobie z
> tym problemem poradzić...
>
> krótki wstęp: chciałbym połączyć się z bazą danych MySQL z poziomu
> jakiegoś DAO, pobrać cokolwiek i przekazać gdziekolwiek dalej do
> wyświetlenia
>
> używam: Geronimo, openjpa, maven, jsf, ejb3
>
> no i teraz tak:
>
> persistence.xml (znajduje się w webapp/META-INF)
> <persistence xmlns="http://java.sun.com/xml/ns/persistence"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> version="1.0">
> <persistence-unit name="bazadb">
> <class>pl.test.entity.User</class>
> <properties>
> <property name="openjpa.jdbc.SynchronizeMappings"
> value="buildSchema"/>
> <property name="openjpa.ConnectionURL"
> value="jdbc:mysql://jakisURL.pl:3306/jakasBaza"/>
> <property name="openjpa.ConnectionDriverName"
> value="com.mysql.jdbc.Driver"/>
> <property name="openjpa.ConnectionUserName"
> value="userName"/>
> <property name="openjpa.ConnectionPassword"
> value="haslo"/>
> </properties>
> </persistence-unit>
> </persistence>
>
Coś Mi ubogo ten Twój persistence.xml wygląda
1) po pierwsze primo, musisz sobie w Geronimo zmajdrować data-source i w
nim skonfigurować połączenie do bazy, driver, etc.
2) po drugie primo
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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_1_0.xsd" version="1.0">
<persistence-unit name="MOJ_PERSISTENT_JUNIT" transaction-type="JTA">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<jta-data-source>MOJ_JOTTEA_DATA_SORZ</jta-data-source>
<class>tu.jakas.klazka.moja</class>
<class>tu.jakas.klazka.kolegi.z.roku</class>
<properties><!-- tu caly smietnik specyficzny dla openjpa -->
<!-- property name="openjpa.Sequence"
value="class-table(Table=_SEQ_GENERATOR, UseAliases=true)"/-->
<!-- property name="openjpa.jdbc.MappingDefaults"
value="ForeignKeyDeleteAction=cascade,
JoinForeignKeyDeleteAction=cascade"/-->
<!-- property name="openjpa.jdbc.SchemaFactory"
value="native(ForeignKeys=true)"/-->
<property name="openjpa.jdbc.EagerFetchMode" value="join"/>
<!-- property name="openjpa.jdbc.SynchronizeMappings"
value="buildSchema(SchemaAction=refresh, ForeignKeys=true)" /-->
<property name="openjpa.jdbc.DBDictionary" value="postgres"/>
<property name="openjpa.Multithreaded" value="true" />
<property name="openjpa.TransactionMode" value="managed" />
<property name="openjpa.AutoDetach" value="commit" />
<!-- <property name="openjpa.NontransactionalRead"
value="true" /> -->
<property name="openjpa.RestoreState" value="all" />
<property name="openjpa.Optimistic" value="true"/>
<!--property name="openjpa.LockManager" value="pessimistic"/-->
</properties>
</persistence-unit>
</persistence>
a nastepnie w DAO bean:
public class UserManagementDAOBean implements UserManagementDAO {
@PersistenceContext(unitName = "MOJ_PERSISTENT_JUNIT")
private EntityManager em;
Dopiero możesz rzeźbić. Nie napisałeś też, w którym miejscu zgarniasz
NPE, bo może problem występuje już na etapie wstrzykiwania interfejsu od
DAO.
Możesz też prześledzić logi Geronimo z deploymentu aplikacji, może tam
dostrzeżesz coś interesującego.
pozdrawiam
Beniamin
Technical Details
Message-ID:
<ge9qjo$gsk$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<23f87ada-5ab2-4a19-b1e3-1a4cd56f4e49@f40g2000pri.googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: Beniamin <TomaszMazan@nie.spamuj.mnie.na.onet.pl> Newsgroups: pl.comp.lang.java Subject: Re: Geronimo i połączenie z bazą danych Date: Wed, 29 Oct 2008 15:05:44 +0100 Organization: Onet.pl Lines: 89 Message-ID: <ge9qjo$gsk$1@news.onet.pl> References: <23f87ada-5ab2-4a19-b1e3-1a4cd56f4e49@f40g2000pri.googlegroups.com> NNTP-Posting-Host: ip-195.114.160.156.netia.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1225289144 17300 195.114.160.156 (29 Oct 2008 14:05:44 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Wed, 29 Oct 2008 14:05:44 +0000 (UTC) X-Sender: 74SzX5qBk2ed4s+Cd/pJs4A858fR119E In-Reply-To: <23f87ada-5ab2-4a19-b1e3-1a4cd56f4e49@f40g2000pri.googlegroups.com> X-Antivirus-Status: Clean X-Antivirus: avast! (VPS 081025-0, 2008-10-25), Outbound message User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit