Commit f1ab2632 by Patryk Czarnik

find w pętli

parent a2fc1dc7
ORM (Object-Relation Mapping) - ogólna koncepcja realizowana w różnych językach
JPA (Java Persistence API, Jakarta Persistence) - specyfikacja interfejsu programistycznego (interfejsy, adnotacje, kilka klas), za pomocą którego programista może obiektowo korzystać z bazy danych
część Javy Enterprise
TEGO UŻYWAMY W NASZYM PROJEKCIE
Istnieją różne implementacje tego standardu:
Hibernate
Eclipse Link - używane np. przez serwer Glassfish
Hibernate - najbardziej popularna implementacja JPA
można używać za pośrednictwem API JPA - tak robimy w naszych programach
można używać bezpośrednio przez pakiet org.hibernate - w niektórych tutorialach tak znajdziecie
Najczęściej Hibernate używa się za pośrednictwem:
Spring Data
serwera aplikacji Java EE jak WildFly czy WebLogic....
package sklep.przyklady_hibernate;
import java.util.Scanner;
import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import sklep.model.Product;
public class OdczytajJedenProdukt {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("sklep");
EntityManager em = emf.createEntityManager();
Scanner sc = new Scanner(System.in);
try(EntityManagerFactory emf = Persistence.createEntityManagerFactory("sklep");
EntityManager em = emf.createEntityManager()) {
System.out.println("Mam EntityManagera: " + em);
Product product = em.find(Product.class, 2);
while(true) {
int id = sc.nextInt();
if(id == 0)
break;
Product product = em.find(Product.class, id);
if(product == null) {
System.out.printf("Nie ma produktu o numerze %d\n", id);
continue;
}
System.out.println("Mam obiekt: " + product);
System.out.println(product.getProductName() + " za cenę " + product.getPrice());
System.out.printf("Produkt nr %d to %s za cenę %s\n",
product.getProductId(), product.getProductName(), product.getPrice());
if(product.getDescription() != null) {
System.out.printf("Opis: %s\n", product.getDescription());
}
}
}
}
}
package sklep.przyklady_hibernate;
import jakarta.persistence.EntityManager;
import jakarta.persistence.EntityManagerFactory;
import jakarta.persistence.Persistence;
import sklep.model.Product;
public class OdczytajJedenProdukt_v0 {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("sklep");
EntityManager em = emf.createEntityManager();
System.out.println("Mam EntityManagera: " + em);
Product product = em.find(Product.class, 2);
System.out.println("Mam obiekt: " + product);
System.out.println(product.getProductName() + " za cenę " + product.getPrice());
em.close();
emf.close();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="https://jakarta.ee/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd" version="3.0">
<persistence version="3.0"
xmlns="https://jakarta.ee/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
>
<persistence-unit name="sklep">
<class>sklep.model.Customer</class>
<class>sklep.model.OrderProduct</class>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment