Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/boot-2.1' into boot-2.0
Browse files Browse the repository at this point in the history
# Conflicts:
#	build.gradle
  • Loading branch information
joutvhu committed Sep 28, 2022
2 parents 0378a9b + bb9ee76 commit 58f5199
Show file tree
Hide file tree
Showing 16 changed files with 91 additions and 601 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# spring-dynamic-jpa
# Spring Dynamic JPA

The Spring Dynamic JPA will make it easy to implement dynamic queries with JpaRepository.

Expand All @@ -7,25 +7,26 @@ The Spring Dynamic JPA will make it easy to implement dynamic queries with JpaRe
- Add dependency

```groovy
implementation 'com.github.joutvhu:spring-dynamic-jpa:2.3.3'
implementation 'com.github.joutvhu:spring-dynamic-jpa:2.0.5'
```

```xml
<dependency>
<groupId>com.github.joutvhu</groupId>
<artifactId>spring-dynamic-jpa</artifactId>
<version>2.3.3</version>
<version>2.0.5</version>
</dependency>
```

- Please choose the _spring-dynamic-jpa_ version appropriate with your spring version.

| spring-boot version | spring-dynamic-jpa version |
|:----------:|:-------------:|
| 2.0.x.RELEASE | 2.0.4 |
| 2.1.x.RELEASE | 2.1.4 |
| 2.2.x.RELEASE | 2.2.4 |
| 2.3.x.RELEASE | 2.3.4 |
| 2.0.x.RELEASE | 2.0.5 |
| 2.1.x.RELEASE | 2.1.5 |
| 2.2.x.RELEASE | 2.2.5 |
| 2.3.x.RELEASE | 2.3.5 |
| 2.7.x | 2.7.5 |

- To use the dynamic query, you need to set the jpa repository's `repositoryFactoryBeanClass` property to `DynamicJpaRepositoryFactoryBean.class`.

Expand Down
86 changes: 68 additions & 18 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ plugins {
id 'java-library'
id 'maven-publish'
id 'org.springframework.boot' version '2.0.0.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'io.spring.dependency-management' version '1.0.14.RELEASE'
}

group = 'com.github.joutvhu'
version = '2.0.4'
version = '2.0.5'
sourceCompatibility = 1.8
targetCompatibility = 1.8

Expand All @@ -25,30 +25,66 @@ repositories {
mavenCentral()
}

ext {
versions = [
'spring-boot.version' : '2.0.5.RELEASE',
'spring-framework.version' : '5.0.4.RELEASE',
'spring-dynamic-commons.version': '1.0.0',
'javax-transaction.version' : '1.3',
'javax-persistence.version' : '2.2',
'hibernate.version' : '5.2.14.Final',
'freemarker.version' : '2.3.31',
'commons-lang3.version' : '3.12.0'
]
managedVersions = [
'org.springframework:spring-aspects' : 'spring-framework.version',
'org.springframework:spring-context' : 'spring-framework.version',
'org.springframework:spring-jcl' : 'spring-framework.version',
'org.springframework:spring-context-support' : 'spring-framework.version',
'org.springframework.data:spring-data-commons': 'spring-boot.version',
'org.springframework.data:spring-data-jpa' : 'spring-boot.version',
'com.github.joutvhu:spring-dynamic-commons' : 'spring-dynamic-commons.version',
'javax.transaction:javax.transaction-api' : 'javax-transaction.version',
'javax.persistence:javax.persistence-api' : 'javax-persistence.version',
'org.hibernate:hibernate-core' : 'hibernate.version',
'org.freemarker:freemarker' : 'freemarker.version',
'org.apache.commons:commons-lang3' : 'commons-lang3.version'
]
otherVersions = [
'org.springframework.boot:spring-boot-dependencies': 'spring-boot.version'
]
}

dependencyManagement {
dependencies {
ext.managedVersions.each {
dependency "${it.key}:${ext.versions[it.value]}"
}
}
}

dependencies {
implementation 'org.springframework:spring-aspects:5.0.4.RELEASE'
implementation 'org.springframework:spring-context:5.0.4.RELEASE'
implementation 'org.springframework:spring-context-support:5.0.4.RELEASE'
implementation 'org.springframework:spring-aspects'
implementation 'org.springframework:spring-context'
implementation 'org.springframework:spring-context-support'

implementation 'org.springframework.data:spring-data-jpa:2.0.5.RELEASE'
implementation 'org.springframework.data:spring-data-commons:2.0.5.RELEASE'
implementation 'org.springframework.data:spring-data-jpa'
implementation 'org.springframework.data:spring-data-commons'

implementation 'javax.persistence:javax.persistence-api:2.2'
implementation 'javax.transaction:javax.transaction-api:1.3'
implementation 'com.github.joutvhu:spring-dynamic-commons'

implementation('org.hibernate:hibernate-core:5.2.14.Final') {
implementation 'javax.persistence:javax.persistence-api'
implementation 'javax.transaction:javax.transaction-api'

implementation('org.hibernate:hibernate-core') {
exclude group: 'javax.activation', module: 'javax.activation-api'
exclude group: 'javax.persistence', module: 'javax.persistence-api'
exclude group: 'javax.xml.bind', module: 'jaxb-api'
exclude group: 'org.jboss.spec.javax.transaction', module: 'jboss-transaction-api_1.2_spec'
}

annotationProcessor 'org.projectlombok:lombok:1.18.12'
implementation 'org.projectlombok:lombok:1.18.12'

implementation 'org.freemarker:freemarker:2.3.30'
implementation 'org.apache.commons:commons-lang3:3.11'
implementation 'org.apache.logging.log4j:log4j-api:2.17.0'
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'

testImplementation(platform('org.junit:junit-bom:5.8.2'))
testImplementation 'org.junit.jupiter:junit-jupiter-api'
Expand All @@ -61,8 +97,10 @@ dependencies {
exclude group: 'org.apache.logging.log4j', module: 'log4j-api'
exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j'
}
testImplementation 'org.apache.logging.log4j:log4j-to-slf4j:2.17.0'
testImplementation 'com.h2database:h2'

testCompileOnly 'org.projectlombok:lombok:1.18.24'
testAnnotationProcessor 'org.projectlombok:lombok:1.18.24'
}

jar {
Expand Down Expand Up @@ -148,9 +186,21 @@ publishing {
name = 'Giao Ho'
url = 'https://github.com/joutvhu'
}
properties = project.ext.versions
withXml {
def dependenciesNode = asNode().appendNode('dependencies')
def dependencyManagement = asNode().get('dependencyManagement')
dependencyManagement.dependencies.dependency.each {
def key = "${it.groupId.text()}:${it.artifactId.text()}"
def versionProperty = project.ext.managedVersions[key]
if (versionProperty == null) {
versionProperty = project.ext.otherVersions[key]
}
if (versionProperty) {
it.version[0].setValue("\${$versionProperty}")
}
}

def dependenciesNode = asNode().appendNode('dependencies')
configurations.implementation.allDependencies.each {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
Expand Down
83 changes: 0 additions & 83 deletions src/main/java/com/joutvhu/dynamic/jpa/DynamicQueryTemplates.java

This file was deleted.

28 changes: 0 additions & 28 deletions src/main/java/com/joutvhu/dynamic/jpa/directive/SetDirective.java

This file was deleted.

Loading

0 comments on commit 58f5199

Please sign in to comment.