Spring data jpa. Trouver max si pas de retour du résultat valeur par défaut

J'ai mis en place dans mon printemps référentiel d'interface:

@Query("SELECT max(ch.id) FROM MyEntity ch")
Long getMaxId();

Il fonctionne correctement si la db n'est pas vide. Si je commence mon environnement avec la configuration d'essai (H2DB est utilisé) - il n'y a pas de données dans le début. Et le résultat retourné par getMaxId() est null. Je voudrais avoir ici 0.


Est-il possible de modifier mon *JpaRepository avoir 0 résultat? Si oui, comment cela devrait-il être modifié?

  • S'il vous plaît dites-moi, vous n'êtes pas fait pour générer les Identifiants par vous-même en incrémentant le max à chaque fois que vous insérez une nouvelle instance.
  • C'est un bon point d'avoir des id générés! Et oui, j'en possède un. Et je veux avoir un seul id du générateur (igniteIdGenerator) parfois, il doit réparer son état (si le cache réparations de db, igniteIdGenerator doit être déplacé).
InformationsquelleAutor Sergii | 2017-06-23