I sometimes need to use the Criteria in JPA, I don't know why, but the create query method not accept order with asc and desc in the same query, the Criteria support it, but damn, it's very hard, I don't know who think this code
- ParameterExpression<integer> age = qb.parameter(Integer.class);
- Predicate condition = qb.gt(p.get(Person_.age), age);
- c.where(condition);
- TypedQuery<person> q = em.createQuery(c);
- List<person> result = q.setParameter(age, 20).getResultList();
- </person></person></integer>
is better than this one
- String jpql = "select p from Person p where p.age > :age";
- Query query = em.createQuery(jpql).setParameter("age", 20);
- List result = query.getResultList();
I don't need to map my class into another object called metamodel, one change in a model results into two changes, the model and the metamodel. Go to hell with de metamodel, we don't want, and don't need it, I write my queries using JPQL and don't want to use the Criteria API. Why they don't use the hibernate style? The code below isn't better?
- List cats = sess.createCriteria(Cat.class)
- .add( Restrictions.like("name", "Fritz%") )
- .add( Restrictions.between("weight", minWeight, maxWeight) )
- .list();
Yes, I copy this codes from IBM and Hibernate:).
2 comentários:
True.. ainda prefiro Hibernate puro.
Tentaram copiar o .net e fizeram essa porcaria. Fizeram só 50%, os outros 50% seria estender o Java para compilar outras linguagens embutidas (ou seja, o próprio JPQL). Ai sim faz sentido ter esta estrutura, que na verdade seria "escondida"...
This smells like CMP/EJB 2 :P
Postar um comentário