Jak zkombinovat Java REST a Hibernate: Od entit po CRUD metody

1. Základní anotace v Hibernate (Entity, Table, Column, Id, GeneratedValue)

Hibernate umožňuje snadné mapování tříd na databázové tabulky pomocí JPA anotací:

@Entity
@Table(name = "users")
public class User {
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  private Long id;

  @Column(name = "username", nullable = false)
  private String username;

  @Column(name = "email")
  private String email;
}

2. Konfigurace persistence.xml a připojení k databázi

Soubor persistence.xml definuje konfiguraci JPA:

<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1">
  <persistence-unit name="MyPU">
    <class>com.example.User</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/testdb"/>
      <property name="javax.persistence.jdbc.user" value="root"/>
      <property name="javax.persistence.jdbc.password" value="1234"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
      <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect"/>
    </properties>
  </persistence-unit>
</persistence>

3. CRUD operace přes JPA metody

EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
User u = new User();
u.setUsername("petr");
em.persist(u);
em.getTransaction().commit();
em.close();

4. Správa session a transakcí

U REST služeb je klíčové správně spravovat EntityManager a transakce:

5. Výkon a cache v Hibernate

First-level cache je aktivní automaticky pre session. Second-level cache (např. Ehcache) je volitelná a zvyšuje výkon ve větších aplikacích.

Doporučení:

Chcete si to vyzkoušet na vlastní kůži?

Vše se naučíte v kurzu Java REST služby s Hibernate, kde si vytvoříte REST API, připojíte ho na databázi a naučíte se správu transakcí i optimalizaci výkonu.

Jak začít programovat?

Úvod do programování pro každého bez předchozích znalostí.

Stáhněte si náš ebook teď výjimečně zdarma!!!

Viac informacií preberáme na kurze:

Kurz JAVAEEREST - JAVA REST - RESTful Webové služby s Hibernate

Marián Knězek