Articles of jpa 2.0

Comment exprimer correctement JPQL «join fetch» ​​avec la clause «where» en tant que JPA 2 CriteriaQuery?

Considérons la requête JPQL suivante: SELECT foo FROM Foo foo INNER JOIN FETCH foo.bar bar WHERE bar.baz = :baz J’essaie de traduire cela en une requête Critieria. C’est autant que je l’ai eu: CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery cq = cb.createQuery(Foo.class); Root r = cq.from(Foo.class); Fetch fetch = r.fetch(Foo_.bar, JoinType.INNER); Join join = r.join(Foo_.bar, JoinType.INNER); […]

org.hibernate.QueryException: tentative illégale de déréférencement de la collection

J’essaie de suivre la requête hql pour exécuter SELECT count(*) FROM BillDetails as bd WHERE bd.billProductSet.product.id = 1002 AND bd.client.id = 1 Mais ça montre org.hibernate.QueryException: illegal attempt to dereference collection [billdetail0_.bill_no.billProductSet] with element property reference [product] [select count(*) from iland.hbm.BillDetails as bd where bd.billProductSet.product.id=1001 and bd.client.id=1] at org.hibernate.hql.ast.tree.DotNode$1.buildIllegalCollectionDereferenceException(DotNode.java:68) at org.hibernate.hql.ast.tree.DotNode.checkLhsIsNotCollection(DotNode.java:558)

API JPA 2.0, Critères, Sous-requêtes, Expressions

J’ai essayé d’écrire une requête avec une sous-requête et une expression IN plusieurs fois. Mais je n’ai jamais réussi. J’ai toujours l’exception, “Erreur de syntaxe près du mot clé ‘IN’”, l’instruction de requête a été générée comme ceci, SELECT t0.ID, t0.NAME FROM EMPLOYEE t0 WHERE IN (SELECT ? FROM PROJECT t2, EMPLOYEE t1 WHERE ((t2.NAME […]

Quel est le but de AccessType.FIELD, AccessType.PROPERTY et @Access

Je veux juste savoir quelle est la différence entre toutes ces annotations. Pourquoi les utilisons-nous? Cela signifie qu’ils n’ont aucun effet, en particulier au niveau du champ et au niveau de la propriété. Et quel est le but d’utiliser une annotation de niveau mixte comme: @Entity @Access(AccessType.FIELD) class Employee { // why their is a […]

JPA / Criteria API – Comme & égal problème

J’essaie d’utiliser l’API Criteria dans mon nouveau projet: public List findEmps(Ssortingng name) { CriteriaBuilder cb = em.getCriteriaBuilder(); CriteriaQuery c = cb.createQuery(Employee.class); Root emp = c.from(Employee.class); c.select(emp); c.distinct(emp); List criteria = new ArrayList(); if (name != null) { ParameterExpression p = cb.parameter(Ssortingng.class, “name”); criteria.add(cb.equal(emp.get(“name”), p)); } /* … */ if (criteria.size() == 0) { throw new […]

JPA Hibernate plusieurs-à-plusieurs en cascade

J’utilise JPA 2.0 et hibernate. J’ai une classe d’utilisateurs et une classe de groupe comme suit: public class User implements Serializable { @Id @Column(name=”USER_ID”) private Ssortingng userId; @ManyToMany @JoinTable(name = “USER_GROUP”, joinColumns = { @JoinColumn(name = “GROUP_ID”) }, inverseJoinColumns = { @JoinColumn(name = “USER_ID”) } ) private Set groupList; //get set methods } public class […]

Architecture Java EE – Les DAO sont-ils toujours recommandés lors de l’utilisation d’un ORM tel que JPA 2?

Si j’utilise un ORM comme JPA2 – où mes entités sont mappées à ma firebase database, devrais-je toujours utiliser un DAO? Cela semble être beaucoup plus frais. Par exemple, je devrais maintenir trois paquets supplémentaires: Celui qui spécifie les objects de mon domaine (qui mappent à peu près mes objects Entity): public class Employee { […]

Comment utiliser @Cacheable de JPA2 à la place de @Cache d’Hibernate

En général, j’utilise @Cache d’Hibernate (usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) pour mettre en cache une classe @Entity, et cela fonctionne bien. Dans JPA2, il existe une autre annotation @Cacheable qui semble être la même fonctionnalité avec @Cache d’Hibernate. Pour que ma classe d’entité soit indépendante du package d’Hibernate, je souhaite l’essayer. Mais je ne peux pas le […]

Comment puis-je valider plusieurs champs en même temps?

J’utilise la validation JPA 2.0 / Hibernate pour valider mes modèles. J’ai maintenant une situation où la combinaison de deux champs doit être validée: public class MyModel { public Integer getValue1() { //… } public Ssortingng getValue2() { //… } } Le modèle n’est pas valide si getValue1() et getValue2() sont null et valables autrement. […]

Tutoriel sur les critères JPA

J’ai essayé de trouver un tutoriel sur l’API Critères JPA mais je n’ai pas eu beaucoup de succès. En savez-vous pour les débutants? Je voudrais commencer à l’utiliser dans une application Java5 / Maven pour créer des requêtes de recherche complexes.