🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.java
Article #141985

Re: Geronimo i połączenie z bazą danych

#141985
From: Beniamin
Date: Wed, 29 Oct 2008 14:05
89 lines
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-mail
References: <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