package org.raidenjpa;
import static org.junit.Assert.*;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import org.junit.Test;
import org.raidenjpa.entities.A;
import org.raidenjpa.util.EntityManagerUtil;
public class BasicTest extends AbstractTestCase {
@Test
public void test() {
Service service = new Service();
A a1 = new A("a1");
A a2 = new A("a2");
service.save(a1);
service.save(a2);
List<A> result = service.find("a1");
assertEquals(1, result.size());
assertEquals("a1", result.get(0).getStringValue());
}
class Service {
@SuppressWarnings("unchecked")
List<A> find(String value) {
String jpql = "FROM A a WHERE a.stringValue = :value";
Query query = EntityManagerUtil.em().createQuery(jpql);
query.setParameter("value", value);
return query.getResultList();
}
public void save(A a) {
EntityManager em = EntityManagerUtil.em();
em.getTransaction().begin();
em.merge(a);
em.getTransaction().commit();
}
}
}