<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Power of Java Platform, Enterprise Edition</title>
	<atom:link href="http://www.javaee.pl/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javaee.pl</link>
	<description>Website of Java EE</description>
	<lastBuildDate>Sun, 15 Jan 2012 13:19:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Hibernate</title>
		<link>http://www.javaee.pl/index.php/2012/01/15/hibernate/</link>
		<comments>http://www.javaee.pl/index.php/2012/01/15/hibernate/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 13:16:34 +0000</pubDate>
		<dc:creator>javaadmin</dc:creator>
				<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[JPA]]></category>
		<category><![CDATA[framework]]></category>

		<guid isPermaLink="false">http://www.javaee.pl/?p=19</guid>
		<description><![CDATA[Hibernate &#8211; framework do realizacji warstwy dostępu do danych (ang. persistance layer). Zapewnia on przede wszystkim translację danych pomiędzy relacyjną bazą danych, a światem obiektowym (ang. O/R mapping). Opiera się na wykorzystaniu opisu struktury danych za pomocą języka XML, dzięki &#8230; <a href="http://www.javaee.pl/index.php/2012/01/15/hibernate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Hibernate</strong> &#8211; <a title="Framework" href="http://pl.wikipedia.org/wiki/Framework">framework</a> do realizacji warstwy dostępu do danych (ang. persistance layer). Zapewnia on przede wszystkim translację danych pomiędzy <a title="Relacyjna baza danych" href="http://pl.wikipedia.org/wiki/Relacyjna_baza_danych">relacyjną bazą danych</a>, a światem obiektowym (ang. <a title="Mapowanie obiektowo-relacyjne" href="http://pl.wikipedia.org/wiki/Mapowanie_obiektowo-relacyjne">O/R mapping</a>). Opiera się na wykorzystaniu opisu struktury danych za pomocą języka <a title="XML" href="http://pl.wikipedia.org/wiki/XML">XML</a>, dzięki czemu można &#8220;rzutować&#8221; obiekty, stosowane w <a title="Programowanie obiektowe" href="http://pl.wikipedia.org/wiki/Programowanie_obiektowe">obiektowych</a> <a title="Język programowania" href="http://pl.wikipedia.org/wiki/J%C4%99zyk_programowania">językach programowania</a>, takich jak <a title="Java" href="http://pl.wikipedia.org/wiki/Java">Java</a> bezpośrednio na istniejące tabele bazy danych. Dodatkowo Hibernate zwiększa wydajność operacji na bazie danych dzięki buforowaniu i minimalizacji liczby przesyłanych zapytań. Jest to projekt rozwijany jako <a title="Open source" href="http://pl.wikipedia.org/wiki/Open_source">open source</a>. Głównym inicjatorem i liderem projektu jest Gavin King.</p>
<table id="toc">
<tbody>
<tr>
<td></td>
</tr>
</tbody>
</table>
<h2>Podprojekty</h2>
<p>W skład projektu Hibernate wchodzą następujące podprojekty:</p>
<ul>
<li>Hibernate Core</li>
<li>Hibernate Annotations</li>
<li>Hibernate EntityManager</li>
<li>Hibernate Shards</li>
<li>Hibernate Validator</li>
<li>Hibernate Search</li>
<li>Hibernate Tools</li>
<li>NHibernate</li>
</ul>
<h3>Hibernate Core</h3>
<p>Stanowi centralną część wszystkich projektów. Pozostałe stanowią albo rozszerzenia (np. <em>Hibernate Annotations</em>) albo translację dla innych języków (<a title="NHibernate (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=NHibernate&amp;action=edit&amp;redlink=1">NHibernate</a>). Stąd podprojekt <em>Hibernate Core</em> jest utożsamiany z całym projektem Hibernate.</p>
<p>Hibernate Core jest biblioteką umożliwiającą wykonywanie mapowania obiektowo-relacyjnego dla języka Java, w którym mapowania zdefiniowane są w dokumentach XML.</p>
<h3>Hibernate Annotations</h3>
<p>Rozszerzenie projektu <em>Hibernate Core</em> pozwalające na stosowanie adnotacji (zamiast dokumentów XML) do definiowania mapowań między obiektami Javy oraz tabelami.</p>
<h3>Hibernate EntityManager</h3>
<p>Nakładka na projekt <em>Hibernate Core</em> wprowadzająca EntityManager jako centralną klasę, z poziomu której wykonywana jest komunikacja z bazą danych. Połączenie podprojektów <em>Hibernate EntityManager</em> oraz <em>Hibernate Annotations</em> pozwala posługiwać się techniką mapowania obiektowo-relacyjnego zgodnie ze standardem <a title="Java Persistence API" href="http://pl.wikipedia.org/wiki/Java_Persistence_API">Java Persistence API</a>.</p>
<h3>Hibernate Shards</h3>
<p>Ułatwia stosowanie <em>Hibernate Core</em> w przypadku stosowania wielu baz danych.</p>
<h3>Hibernate Validator</h3>
<p>Rozszerza zestaw adnotacji wprowadzonych przez <em>Hibernate Annotations</em> o takie, które umożliwiają dodanie ograniczeń na wartości pól podlegających mapowaniu. Ograniczenia te są podobne jak ograniczenia na pola w bazie danych (ang. <em>constraints</em>). Ograniczenia te są definiowane na poziomie obiektów podlegających zapisywaniu do bazy danych, jednakże dotyczą zarówno ograniczeń nakładanych na pola w bazie danych przy generowaniu schematu bazy danych jak i ograniczeń wprowadzanych na poziomie języka programowania.</p>
<h3>Hibernate Search</h3>
<p>Rozszerza możliwości <em>Hibernate Core</em> o usługę <a title="Pełnotekstowe wyszukiwanie (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=Pe%C5%82notekstowe_wyszukiwanie&amp;action=edit&amp;redlink=1">pełnotekstowego wyszukiwania</a> (ang. <em>full text search</em>) implementowanego w oparciu o bibliotekę <a title="Apache Lucene (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=Apache_Lucene&amp;action=edit&amp;redlink=1">Lucene</a>. Podprojekt ten wykorzystuje również mechanizm adnotacji.</p>
<h3>Hibernate Tools</h3>
<p>Obejmuje zestaw narzędzi ułatwiających wykorzystanie <em>Hibernate Core</em> w tworzeniu projektów w języku Java. W szczególności zawiera</p>
<ul>
<li>zadania dla narzędzia <a title="Ant" href="http://pl.wikipedia.org/wiki/Ant">Ant</a> umożliwiające generowanie schematu bazy danych na podstawie mapowań czy też generowanie klas Java na podstawie mapowań,</li>
<li>wtyczkę dla <a title="Eclipse IDE" href="http://pl.wikipedia.org/wiki/Eclipse_IDE">Eclipse</a> <a title="Zintegrowane środowisko programistyczne" href="http://pl.wikipedia.org/wiki/Zintegrowane_%C5%9Brodowisko_programistyczne">IDE</a> ułatwiającą pracę z Hibernate.</li>
</ul>
<h3>NHibernate</h3>
<p>NHibernate jest implementacją usługi mapowania obiektowo-relacyjnego dla platformy .NET.</p>
<h2>Pozycja na rynku</h2>
<p>Hibernate jest frameworkiem posiadającym najbogatsze API spośród dostępnych rozwiązań. Alternatywą dla tego frameworka stanowi <a title="IBATIS (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=IBATIS&amp;action=edit&amp;redlink=1">iBATIS</a> oferujący lepsze wsparcie dla obsługi <a title="Procedura składowana" href="http://pl.wikipedia.org/wiki/Procedura_sk%C5%82adowana">procedur składowanych</a>.</p>
<p>O roli jaką pełni Hibernate świadczy fakt, iż jest on wykorzystywany przez <a title="Serwer aplikacji J2EE" href="http://pl.wikipedia.org/wiki/Serwer_aplikacji_J2EE">serwer aplikacyjny</a> <a title="JBoss" href="http://pl.wikipedia.org/wiki/JBoss">JBoss</a>. Główny autor Hibernate brał udział w pracach nad opracowaniem standardowego API dla mapowania obiektowo-relacyjnego w języku Java &#8211; JPA. Specyficzny dla Hibernate interfejs programistyczny oferuje dużo bogatszy zakres opcji i metod niż standard JPA.</p>
<p>Innym znanym konkurentem Hibernate jest <a title="TopLink (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=TopLink&amp;action=edit&amp;redlink=1">TopLink</a>, narzędzie opracowane przez firmę <a title="Oracle (firma)" href="http://pl.wikipedia.org/wiki/Oracle_%28firma%29">Oracle</a> udostępniające własne rozszerzenia w stosunku do standardu JPA. Zaletą TopLinka jest jego bardzo dobra integracja z innymi produktami firmy Oracle, takimi jak <a title="Oracle (baza danych)" href="http://pl.wikipedia.org/wiki/Oracle_%28baza_danych%29">baza danych Oracle</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javaee.pl/index.php/2012/01/15/hibernate/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Java Persistence API</title>
		<link>http://www.javaee.pl/index.php/2012/01/15/java-persistence-api/</link>
		<comments>http://www.javaee.pl/index.php/2012/01/15/java-persistence-api/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 13:14:31 +0000</pubDate>
		<dc:creator>javaadmin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[glassfish]]></category>
		<category><![CDATA[hibernate]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jpa]]></category>
		<category><![CDATA[serwer]]></category>
		<category><![CDATA[standard]]></category>

		<guid isPermaLink="false">http://www.javaee.pl/?p=15</guid>
		<description><![CDATA[Java Persistence API (skrót JPA) jest oficjalnym standardem mapowania obiektowo-relacyjnego (ORM) firmy Sun Microsystems dla języka programowania Java. &#160; Powstanie standardu Standard JPA jest elementem standardu EJB 3.0 zdefiniowanym w JSR 220. Enterprise JavaBeans 3.0 został utworzony by zastąpić wersję &#8230; <a href="http://www.javaee.pl/index.php/2012/01/15/java-persistence-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Java Persistence API</strong> (skrót JPA) jest oficjalnym standardem <a title="Mapowanie obiektowo-relacyjne" href="http://pl.wikipedia.org/wiki/Mapowanie_obiektowo-relacyjne">mapowania obiektowo-relacyjnego (ORM)</a> firmy <a title="Sun Microsystems" href="http://pl.wikipedia.org/wiki/Sun_Microsystems">Sun Microsystems</a> dla <a title="Język programowania" href="http://pl.wikipedia.org/wiki/J%C4%99zyk_programowania">języka programowania</a> <a title="Java" href="http://pl.wikipedia.org/wiki/Java">Java</a>.</p>
<p>&nbsp;</p>
<h2>Powstanie standardu</h2>
<p>Standard JPA jest elementem standardu <a title="EJB" href="http://pl.wikipedia.org/wiki/EJB">EJB</a> 3.0 zdefiniowanym w JSR 220. Enterprise JavaBeans 3.0 został utworzony by zastąpić wersję poprzednią EJB 2.1, w której był inny model persystencji &#8211; CMP. Końcowa wersja standardu EJB 3.0 została wydana w maju 2006 roku.</p>
<p>W skład grupy ekspertów zajmujących się tworzeniem JPA wszedł twórca <a title="Hibernate" href="http://pl.wikipedia.org/wiki/Hibernate">Hibernate</a>: Gavin King. Oficjalny FAQ na stronach Sun podaje, iż na postać standardu miał wpływ nie tylko Hibernate, ale także <a title="JDO (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=JDO&amp;action=edit&amp;redlink=1">JDO</a> i <a title="TopLink (strona nie istnieje)" href="http://pl.wikipedia.org/w/index.php?title=TopLink&amp;action=edit&amp;redlink=1">TopLink</a>.</p>
<p>Trwają prace nad kolejną wersją standardu 2.0 w ramach JSR 317.</p>
<h2>Opis technologii</h2>
<p>JavaPersistence API jest standardem ORM dla języka Java. Z punktu widzenia programisty jest to możliwość operowania na obiektach &#8211; zwanych <strong>encjami</strong> &#8211; oraz zapisywania wyników operacji do relacyjnej bazy danych za pomocą obiektu <strong>EntityManager</strong>. Sposób w jaki obiekty i ich połączenia przekładają się na elementy bazy danych są definiowane za pomocą adnotacji lub/i dokumentów <a title="XML" href="http://pl.wikipedia.org/wiki/XML">XML</a>. Poza standardowym zestawem operacji udostępnianych przez obiekt EntityManager standard JPA definiuje język zapytań <strong>JPA Query Language</strong> podobny do SQL.</p>
<h2>Implementacje w serwerach aplikacyjnych</h2>
<p>Poza wzorcową implementacją standardu JPA &#8211; czyli serwera aplikacyjnego GlassFish, istnieje wiele innych implementacji wspomnianego standardu. Serwery aplikacyjne dostarczające usług ORM zgodnie ze standardem Java Persistence API:</p>
<table>
<caption>Serwery aplikacyjne i ich implementacje JPA</caption>
<tbody>
<tr>
<th>Silnik implementujący JPA</th>
<th>Serwer aplikacyjny</th>
<th>Producent serwera</th>
</tr>
<tr>
<td>Hibernate EntityManager</td>
<td>JBoss AS</td>
<td>Red Hat</td>
</tr>
<tr>
<td>TopLink</td>
<td>Oracle Application Server/OC4J</td>
<td>Oracle Corporation</td>
</tr>
<tr>
<td>Kodo</td>
<td>WebLogic Server</td>
<td>BEA</td>
</tr>
<tr>
<td>Open JPA</td>
<td>Apache Geronimo, Open EJB</td>
<td>Apache Software Foundation</td>
</tr>
</tbody>
</table>
<p>Warto podkreślić, iż niektóre serwery aplikacyjne udostępniają możliwość zamiany dostawcy usług ORM zgodnie ze standardem JPA.</p>
<h2>Zależności między JPA, EJB 3.0 oraz Java EE 5</h2>
<p>JPA jest elementem standardu EJB 3.0 a ten z kolei wchodzi w skład <a title="Java EE" href="http://pl.wikipedia.org/wiki/Java_EE">Java EE</a> 5. Usługi standardu EJB są zwykle realizowane przez specjalne środowisko uruchomieniowe zwane <a title="Serwer aplikacji" href="http://pl.wikipedia.org/wiki/Serwer_aplikacji">serwerem aplikacyjnym</a>. Istnieje jednak możliwość korzystania z tego standardu w aplikacjach nie korzystających z serwera aplikacyjnego. Zapewnia ją, między innymi, implementacja JPA dostarczana w ramach projektu Hibernate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javaee.pl/index.php/2012/01/15/java-persistence-api/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JAVA &#8211; Hello world!</title>
		<link>http://www.javaee.pl/index.php/2011/12/29/hello-world/</link>
		<comments>http://www.javaee.pl/index.php/2011/12/29/hello-world/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 23:08:35 +0000</pubDate>
		<dc:creator>javaadmin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[duke]]></category>
		<category><![CDATA[firts program]]></category>
		<category><![CDATA[hello world]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[javaee]]></category>
		<category><![CDATA[javunia]]></category>

		<guid isPermaLink="false">http://javaee.pl/?p=1</guid>
		<description><![CDATA[/************************************************************************* *  Compilation:  javac HelloWorld.java *  Execution:    java HelloWorld * *  Prints &#8220;Hello, World&#8221;. By tradition, this is everyone&#8217;s first program. * *  % java HelloWorld *  Hello, World * *  These 17 lines of text are comments. They are &#8230; <a href="http://www.javaee.pl/index.php/2011/12/29/hello-world/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>/*************************************************************************<br />
*  Compilation:  javac HelloWorld.java<br />
*  Execution:    java HelloWorld<br />
*<br />
*  Prints &#8220;Hello, World&#8221;. By tradition, this is everyone&#8217;s first program.<br />
*<br />
*  % java HelloWorld<br />
*  Hello, World<br />
*<br />
*  These 17 lines of text are comments. They are not part of the program;<br />
*  they serve to remind us about its properties. The first two lines tell<br />
*  us what to type to compile and test the program. The next line describes<br />
*  the purpose of the program. The next few lines give a sample execution<br />
*  of the program and the resulting output. We will always include such<br />
*  lines in our programs and encourage you to do the same.<br />
*<br />
*************************************************************************/</p>
<p>public class HelloWorld {</p>
<p>public static void main(String[] args) {<br />
System.out.println(&#8220;Hello, World&#8221;);<br />
}</p>
<p>}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.javaee.pl/index.php/2011/12/29/hello-world/feed/</wfw:commentRss>
		<slash:comments>343</slash:comments>
		</item>
		<item>
		<title>Jave EE information</title>
		<link>http://www.javaee.pl/index.php/2011/12/29/jave-ee-information/</link>
		<comments>http://www.javaee.pl/index.php/2011/12/29/jave-ee-information/#comments</comments>
		<pubDate>Thu, 29 Dec 2011 22:20:03 +0000</pubDate>
		<dc:creator>javaadmin</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[java ee]]></category>
		<category><![CDATA[javaee]]></category>

		<guid isPermaLink="false">http://javaee.pl/?p=4</guid>
		<description><![CDATA[Java Platform, Enterprise Edition (Java EE) 6 is the industry standard for enterprise Java computing. Utilize the new, lightweight Java EE 6 Web Profile to create next-generation web applications, and the full power of the Java EE 6 platform for &#8230; <a href="http://www.javaee.pl/index.php/2011/12/29/jave-ee-information/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Java Platform, Enterprise Edition (Java EE) 6 is the industry standard for enterprise Java computing. Utilize the new, lightweight Java EE 6 Web Profile to create next-generation web applications, and the full power of the Java EE 6 platform for enterprise applications. Developers will benefit from productivity improvements with more annotations, more POJOs, simplified packaging, and less XML configuration.</p>
<p>&nbsp;</p>
<p>Find more info at: <a title="Java EE at a Glance" href="http://www.oracle.com/technetwork/java/javaee/overview/index.html">Java EE at a Glance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.javaee.pl/index.php/2011/12/29/jave-ee-information/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

