Dev Faq
10
votes

Critères API où 1 <> 1 Clause

Je veux que la requête ne renvoie aucune valeur. Je ne peux pas simplement ne pas interroger la base de données, alors j'aimerais ajouter des conditions inaccessibles aux prédicats, quelque chose comme «où 1 <> 1 '. Mais le critèrebuilder.equal () ne permet pas de le faire. Y a-t-il un moyen d'atteindre l'objectif?

merci.

java criteria-api

2 commentaires

Essayez avec le 1 = 0 pour plus de détails, voir cet article [ Stackoverflow.com/questions/6145809/mysql-where-1-0-confusi On / ... [1]: Stackoverflow.com/questions/6145809/mysql-where-1-0-confusio n / ... < / a>


@Pratik, le problème est de savoir comment écrire la condition dans les critères API. La condition elle-même n'est pas un problème.


3 Réponses :


13
votes

Comment sur

CriteriaBuilder.notEqual(CriteriaBuilder.literal(1), 1)


0 commentaires

6
votes

Que diriez-vous de cela:

CriteriaBuilder.isTrue(CriteriaBuilder.literal(Boolean.FALSE));


1 commentaires

Je ne pense pas qu'il y ait d'autres technologies, à compter de la foudre dans les classes de mise en œuvre d'une mise en œuvre de la JPA particulière.



6
votes

Javadoc de CritèreBuilder: "Créez une disjonction (avec zéro disjonction). Une disjonction avec zéro disjonctes est false."

CriteriaBuilder cb..
Predicate itsFalse = cb.disjunction();


0 commentaires

Articles qui pourrait vous intéresser :

Comment envoyer une liste vide à la clause IN
Code de réponse 403 inattendu lors de la récupération des données des API
Impossible de trouver la classe UnityPlayerActivity dans com.unity3d.player
Comment définir un tableau dans jsonobject
© 2020 www.devfaq.fr - Licensed under  cc by-sa 3.0  with  attribution required.