JPA JAVA EE  package com.logicbig.example;
import javax.persistence.*; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import java.util.Arrays; import java.util.List;
public class JPAKickStartExample {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("testPersistenceUnit"); EntityManager entityManager = emf.createEntityManager(); entityManager.getTransaction().begin();
MyObject myObject = new MyObject(); myObject.setStr("one"); entityManager.persist(myObject);
myObject = new MyObject(); myObject.setStr("two"); entityManager.persist(myObject);
entityManager.getTransaction().commit();
findObjectById(entityManager); queryWithJPQL(entityManager); typedQueryWithJPQL(entityManager); criteriaQuery(entityManager); queryNative(entityManager); }
private static void findObjectById(EntityManager entityManager) { System.out.println("----\nfinding object by id"); MyObject o = entityManager.find(MyObject.class, 2L); System.out.println(o); }
private static void queryWithJPQL(EntityManager entityManager) { System.out.println("----\nQuerying using JPQL"); Query query = entityManager.createQuery("select t from MyObject t"); List resultList1 = query.getResultList(); System.out.println(resultList1); }
private static void typedQueryWithJPQL(EntityManager entityManager) { System.out.println("----\nTyped Querying using JPQL"); TypedQuery<MyObject> q = entityManager.createQuery("select t from MyObject t" , MyObject.class); System.out.println(q.getResultList()); }
private static void queryNative(EntityManager entityManager) { System.out.println("----\nnative query"); Query nativeQuery = entityManager.createNativeQuery("select * from MyObject"); List resultList = nativeQuery.getResultList(); for (Object o : resultList) { if (o.getClass().isArray()) { Object oa[] = (Object[]) o; System.out.println(Arrays.asList(oa)); } else { System.out.println(o); } } }
private static void criteriaQuery(EntityManager entityManager) { System.out.println("----\ncriteria query"); CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Object> query = cb.createQuery(); CriteriaQuery<Object> select = query.select(query.from(MyObject.class));
TypedQuery<Object> typedQuery = entityManager.createQuery(select); System.out.println(typedQuery.getResultList());
} }
Output---- finding object by id MyObject{objId=2, str='two'} ---- Querying using JPQL [MyObject{objId=1, str='one'}, MyObject{objId=2, str='two'}] ---- Typed Querying using JPQL [MyObject{objId=1, str='one'}, MyObject{objId=2, str='two'}] ---- criteria query [MyObject{objId=1, str='one'}, MyObject{objId=2, str='two'}] ---- native query [1, one] [2, two]
 package com.logicbig.example;
import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id;
@Entity public class MyObject { @Id @GeneratedValue private long objId; private String str;
public long getObjId () { return objId; }
public void setObjId (long objId) { this.objId = objId; }
public String getStr () { return str; }
public void setStr (String str) { this.str = str; }
@Override public String toString () { return "MyObject{" + "objId=" + objId + ", str='" + str + '\'' + '}'; } }
pom.xml: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.logicbig.example</groupId> <artifactId>jpa-kickstart-example</artifactId> <version>1.0-SNAPSHOT</version>
<dependencies> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.193</version> </dependency>
<dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>eclipselink</artifactId> <version>2.6.4</version> </dependency>
<dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.1.1</version> </dependency> </dependencies>
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> </project>
|
|