OpenJPA DB2 Row Number Dictionary

A Row Number DB2 Dictionary for Open JPA

License

License

Categories

Categories

DB2 Data Databases
GroupId

GroupId

com.github.marcosemiao.openjpa.db2.rownumber
ArtifactId

ArtifactId

openjpa-db2-rownumber
Last Version

Last Version

1.0.1
Release Date

Release Date

Type

Type

jar
Description

Description

OpenJPA DB2 Row Number Dictionary
A Row Number DB2 Dictionary for Open JPA

Download openjpa-db2-rownumber

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.marcosemiao.openjpa.db2.rownumber/openjpa-db2-rownumber/ -->
<dependency>
    <groupId>com.github.marcosemiao.openjpa.db2.rownumber</groupId>
    <artifactId>openjpa-db2-rownumber</artifactId>
    <version>1.0.1</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.marcosemiao.openjpa.db2.rownumber/openjpa-db2-rownumber/
implementation 'com.github.marcosemiao.openjpa.db2.rownumber:openjpa-db2-rownumber:1.0.1'
// https://jarcasting.com/artifacts/com.github.marcosemiao.openjpa.db2.rownumber/openjpa-db2-rownumber/
implementation ("com.github.marcosemiao.openjpa.db2.rownumber:openjpa-db2-rownumber:1.0.1")
'com.github.marcosemiao.openjpa.db2.rownumber:openjpa-db2-rownumber:jar:1.0.1'
<dependency org="com.github.marcosemiao.openjpa.db2.rownumber" name="openjpa-db2-rownumber" rev="1.0.1">
  <artifact name="openjpa-db2-rownumber" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.marcosemiao.openjpa.db2.rownumber', module='openjpa-db2-rownumber', version='1.0.1')
)
libraryDependencies += "com.github.marcosemiao.openjpa.db2.rownumber" % "openjpa-db2-rownumber" % "1.0.1"
[com.github.marcosemiao.openjpa.db2.rownumber/openjpa-db2-rownumber "1.0.1"]

Dependencies

provided (3)

Group / Artifact Type Version
org.apache.openjpa : openjpa-jdbc jar [1.0.1,)
com.ibm.websphere.ws » com.ibm.ws.jpa jar 1.0.1
com.github.marcosemiao : serviceloader-processor jar 0.0.1

Project Modules

There are no modules declared in this project.

OpenJpa DB2 Row Number Dictionary

Fonctionnalités générales

Cette librairie est un plug-in pour Open JPA pour utiliser la fonction "ROW_NUMBER" de DB2 au lieu d'effectuer un "FETCH FIRST" pour la pagination.

  • Facile d'utilisation, il suffit de rajouter la dépendance Maven avec le scope "runtime" dans votre application.
  • Disponible sur le repository central de Maven.
  • Compatible à partir de Java 6.
  • Compatible à partir de la version 1.0.1 d'Open JPA.
  • Compatible avec l'implémentation d'Open JPA de IBM WebSphere.

Utilisation rapide

  • Ajouter la dépendance dans votre projet :
<dependency>
	<groupId>com.github.marcosemiao.openjpa.db2.rownumber</groupId>
	<artifactId>openjpa-db2-rownumber</artifactId>
	<scope>runtime</scope>
	<version>1.0.1</version>
</dependency>

Open JPA utilise le service loader de Java, ce plugin sera chargé automatiquement.

Fonctionnement

Lors de la pagination, ce plugin englobe la requête d'origine dans une autre pour effectuer la pagination.

Prenons la requête suivante : SELECT * FROM TOTO On désire retourner les éléments compris entre la 51ème position et la 100ème position. Le plugin va exécuter cela :

SELECT * FROM (
	SELECT rr.*, ROW_NUMBER() OVER(ORDER BY ORDER OF rr) AS row_number_openjpa_db2 FROM (
		SELECT * FROM TOTO
	) AS rr
) WHERE row_number_openjpa_db2 > 50 and row_number_openjpa_db2 <= 100

Versions

Version
1.0.1
1.0.0