Sunday, April 18, 2010

Краткий обзор новых возможностей Hibernate 3.5 и JPA 2.0

Java Persistency API (JPA) 2.0 также известная как JSR-317 зарелизилась совсем недавно (10 декабря 2009) и до прошлой недели единственным ORM, который полностью реализовывал эту спецификацию, был EclipseLink. Это отличный фреймворк, который, судя по отзывам в сети, работает быстрее чем Hibernate. Однако, на прошлой неделе появился Hibernate 3.5, полностью реализующий спецификацию JPA 2.0. В этой статье я кратко расскажу о новых возможностях JPA 2.0 и Hibernate 3.5.

Вот несколько основных нововведений:

  1. опция orphanRemoval;
  2. аннотация ElementCollection;
  3. аннотация CollectionTable.

Подключение Hibernate 3.5 к проекту

Подключать Hibernate к проекту мы будем как всегда, с помощью Maven 2. Чтобы все заработало, нам понадобится подключить репозиторий JBoss:

<repository>
   <id>JBoss-Maven-Repository</id>
   <name>JBoss Maven Repository</name>
   <url>http://repository.jboss.org/maven2</url>
</repository>

Теперь нужно подключить все необходимые зависимости:

<properties>
   <hibernate-core-version>3.5.0-Final</hibernate-core-version>
</properties>

...

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-core</artifactId>
   <version>${hibernate-core-version}</version>
</dependency>

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-annotations</artifactId>
   <version>${hibernate-core-version}</version>
</dependency>

<dependency>
   <groupId>org.hibernate</groupId>
   <artifactId>hibernate-entitymanager</artifactId>
   <version>${hibernate-core-version}</version>
</dependency>

<dependency>
   <groupId>javassist</groupId>
   <artifactId>javassist</artifactId>
   <version>3.9.0.GA</version>
</dependency>

<dependency>
   <groupId>org.apache.derby</groupId>
   <artifactId>derbyclient</artifactId>
   <version>10.5.3.0_1</version>
</dependency>

<dependency>
   <groupId>org.slf4j</groupId>
   <artifactId>slf4j-jdk14</artifactId>
   <version>1.5.8</version>
</dependency>

Здесь я подключил еще JDBC-драйвер Apache Derby, так как использую его для тестов.

Read more: Java EE Dev

Posted via email from jasper22's posterous