import java.util.List; import java.util.Map; import java.util.Properties; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.Persistence; import com.mysql.clusterj.ClusterJHelper; import com.mysql.clusterj.Query; import com.mysql.clusterj.Session; import com.mysql.clusterj.SessionFactory; import com.mysql.clusterj.Transaction; import com.mysql.clusterj.query.Predicate; import com.mysql.clusterj.query.PredicateOperand; import com.mysql.clusterj.query.QueryBuilder; import com.mysql.clusterj.query.QueryDomainType; public class firstsimpletest { public static void main(String[] args){ try{ testInitialJPA(); } catch (Exception e){ e.printStackTrace(); } } private static void testOcklin(){ Properties p = new Properties(); p.setProperty("com.mysql.clusterj.connectstring", "localhost:1186"); p.setProperty("com.mysql.clusterj.database", "test"); p.setProperty("com.mysql.clusterj.connect.retries", "3"); p.setProperty("com.mysql.clusterj.connect.delay", "3"); p.setProperty("com.mysql.clusterj.connect.verbose", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.before", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.after", "3"); p.setProperty("com.mysql.clusterj.max.transactions", "3"); SessionFactory sessionFactory = ClusterJHelper.getSessionFactory(p); Session session = sessionFactory.getSession(); QueryBuilder qb = session.getQueryBuilder(); QueryDomainType dobj = qb.createQueryDefinition(Fish.class); PredicateOperand param; PredicateOperand propertyPredicate; Predicate greaterThan; param = dobj.param("name"); propertyPredicate = dobj.get("name"); greaterThan = propertyPredicate.equal(param); dobj.where(greaterThan); Query query = session.createQuery(dobj); query.setParameter("name", "Todd"); List resultList = query.getResultList(); Map explain = query.explain(); System.out.println(explain == null); for(String key : explain.keySet()){ Object o = explain.get(key); System.out.println(key + ": " + o); } for (Fish result: resultList) { System.out.println(result.getName()); } } private static void queryTest(){ Properties p = new Properties(); p.setProperty("com.mysql.clusterj.connectstring", "localhost:1186"); p.setProperty("com.mysql.clusterj.database", "test"); p.setProperty("com.mysql.clusterj.connect.retries", "3"); p.setProperty("com.mysql.clusterj.connect.delay", "3"); p.setProperty("com.mysql.clusterj.connect.verbose", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.before", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.after", "3"); p.setProperty("com.mysql.clusterj.max.transactions", "3"); SessionFactory sessionFactory = ClusterJHelper.getSessionFactory(p); Session s = sessionFactory.getSession(); Transaction tx = s.currentTransaction(); QueryBuilder builder = s.getQueryBuilder(); QueryDomainType domain = builder.createQueryDefinition(Fish.class); domain.where( domain.get("name").equal(domain.param("name"))); Query query = s.createQuery(domain); query.setParameter("name", "Bass"); tx.begin(); List f = query.getResultList(); // for(Fish fish : f){ // System.out.println(fish.getWine()); // } tx.commit(); } private static void queryExplainTest(){ Properties p = new Properties(); p.setProperty("com.mysql.clusterj.connectstring", "localhost:1186"); p.setProperty("com.mysql.clusterj.database", "test"); p.setProperty("com.mysql.clusterj.connect.retries", "3"); p.setProperty("com.mysql.clusterj.connect.delay", "3"); p.setProperty("com.mysql.clusterj.connect.verbose", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.before", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.after", "3"); p.setProperty("com.mysql.clusterj.max.transactions", "3"); SessionFactory sessionFactory = ClusterJHelper.getSessionFactory(p); Session s = sessionFactory.getSession(); Transaction tx = s.currentTransaction(); QueryBuilder builder = s.getQueryBuilder(); QueryDomainType domain = builder.createQueryDefinition(Fish.class); domain.where( domain.get("name").equal(domain.param("name"))); Query query = s.createQuery(domain); query.setParameter("name", "Bass"); tx.begin(); Map explain = query.explain(); System.out.println(explain == null); for(String key : explain.keySet()){ Object o = explain.get(key); System.out.println(key + ": " + o.getClass().getName()); } tx.commit(); } private static void insertTest(){ Properties p = new Properties(); p.setProperty("com.mysql.clusterj.connectstring", "localhost:1186"); p.setProperty("com.mysql.clusterj.database", "test"); p.setProperty("com.mysql.clusterj.connect.retries", "3"); p.setProperty("com.mysql.clusterj.connect.delay", "3"); p.setProperty("com.mysql.clusterj.connect.verbose", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.before", "3"); p.setProperty("com.mysql.clusterj.connect.timeout.after", "3"); p.setProperty("com.mysql.clusterj.max.transactions", "3"); SessionFactory sessionFactory = ClusterJHelper.getSessionFactory(p); Session s = sessionFactory.getSession(); Fish fish = s.newInstance(Fish.class); fish.setId(1); fish.setName("Todd"); fish.setTastiness(12); fish.setWine("Sangiovese"); Transaction tx = s.currentTransaction(); tx.begin(); s.persist(fish); tx.commit(); } private static void testInitialJPA(){ EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ndbjpa"); EntityManager em = entityManagerFactory.createEntityManager(); EntityTransaction userTransaction = em.getTransaction(); userTransaction.begin(); JPAFish f = em.find(JPAFish.class, 1); JPAWine w = new JPAWine(); w.setName(f.getWine()); w.setId(1); f.setTastiness(new Integer(f.getTastiness().intValue() + 1)); em.persist(w); em.persist(f); userTransaction.commit(); } }