Skip to content

Commit

Permalink
| Spring Boot 3 | Upgrade Complete
Browse files Browse the repository at this point in the history
  • Loading branch information
talhadilber committed Sep 14, 2024
1 parent 2c919d1 commit fd80c7c
Show file tree
Hide file tree
Showing 31 changed files with 92 additions and 81 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -146,3 +146,5 @@ Desktop.ini
.eslintcache

*/target/**

/nexts/
10 changes: 10 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,16 @@ You can find the sample code from: https://github.com/tdilber/spring-jpa-dynamic

### 1- Setting up the project with Maven

**for Spring Boot 3.*:**
```maven
<dependency>
<groupId>io.github.tdilber</groupId>
<artifactId>spring-boot-starter-jpa-dynamic-query</artifactId>
<version>0.1.0</version>
</dependency>
```

**for Spring Boot 2.*:**
```maven
<dependency>
<groupId>io.github.tdilber</groupId>
Expand Down
14 changes: 7 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
<modelVersion>4.0.0</modelVersion>

<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.7.18</version>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.3</version>
<relativePath/>
</parent>

<groupId>io.github.tdilber</groupId>
<artifactId>spring-jpa-dynamic-query</artifactId>
<version>0.4.0</version>
<artifactId>spring-boot-starter-jpa-dynamic-query</artifactId>
<version>0.1.0</version>
<packaging>jar</packaging>
<name>Spring Jpa Dynamic Query</name>
<description>Spring Jpa Dynamic Query (JDQ) Project</description>
Expand Down Expand Up @@ -77,6 +77,7 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
Expand Down Expand Up @@ -117,7 +118,6 @@
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand All @@ -138,7 +138,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
Expand All @@ -151,7 +151,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<version>${maven-javadoc-plugin.version}</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;

@Configuration
public class EntityManagerProviderConfig {
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/com/beyt/jdq/dto/enums/JoinType.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
* Created by tdilber at 7/13/2020
*/
public enum JoinType implements Serializable {
INNER('.', javax.persistence.criteria.JoinType.INNER),
LEFT('<', javax.persistence.criteria.JoinType.LEFT),
RIGHT('>', javax.persistence.criteria.JoinType.RIGHT);
INNER('.', jakarta.persistence.criteria.JoinType.INNER),
LEFT('<', jakarta.persistence.criteria.JoinType.LEFT),
RIGHT('>', jakarta.persistence.criteria.JoinType.RIGHT);

private Character separator;
private javax.persistence.criteria.JoinType joinType;
private jakarta.persistence.criteria.JoinType joinType;

JoinType(Character separator, javax.persistence.criteria.JoinType joinType) {
JoinType(Character separator, jakarta.persistence.criteria.JoinType joinType) {
this.separator = separator;
this.joinType = joinType;
}
Expand All @@ -22,7 +22,7 @@ public Character getSeparator() {
return separator;
}

public javax.persistence.criteria.JoinType getJoinType() {
public jakarta.persistence.criteria.JoinType getJoinType() {
return joinType;
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.beyt.jdq.provider;

import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;

public interface IEntityManagerProvider {
EntityManager provide();
Expand Down
24 changes: 12 additions & 12 deletions src/main/java/com/beyt/jdq/query/DynamicQueryManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,26 @@
import com.beyt.jdq.util.ApplicationContextUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.IterableUtils;
import org.hibernate.metamodel.model.domain.internal.SingularAttributeImpl;
import org.hibernate.query.criteria.internal.path.RootImpl;
import org.hibernate.query.criteria.internal.path.SingularAttributePath;
import org.hibernate.query.criteria.JpaRoot;
import org.hibernate.query.sqm.tree.domain.AbstractSqmPath;
import org.springframework.core.GenericTypeResolver;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.support.PageableExecutionUtils;
import org.springframework.data.support.PageableExecutionUtils;
import org.springframework.data.util.Pair;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;

import javax.persistence.EntityManager;
import javax.persistence.Tuple;
import javax.persistence.TypedQuery;
import javax.persistence.criteria.*;
import jakarta.persistence.metamodel.Attribute;
import jakarta.persistence.EntityManager;
import jakarta.persistence.Tuple;
import jakarta.persistence.TypedQuery;
import jakarta.persistence.criteria.*;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.*;
Expand Down Expand Up @@ -156,8 +156,8 @@ protected static <Entity, ResultType> Iterable<ResultType> getEntityListBySelect
} else {

if (!IterableUtils.isEmpty(entityListBySelectableFilter)) {
List<Pair<String, String>> parameters = entityListBySelectableFilter.iterator().next().getElements().stream().filter(e -> SingularAttributePath.class.isAssignableFrom(e.getClass()))
.map(e -> Pair.of(((SingularAttributePath) e).getAttribute().getName(), Objects.isNull(e.getAlias()) ? ((SingularAttributePath) e).getAttribute().getName() : e.getAlias())).collect(Collectors.toList());
List<Pair<String, String>> parameters = entityListBySelectableFilter.iterator().next().getElements().stream().filter(e -> AbstractSqmPath.class.isAssignableFrom(e.getClass()))
.map(e -> Pair.of(((AbstractSqmPath) e).getModel().getPathName(), Objects.isNull(e.getAlias()) ? ((AbstractSqmPath) e).getModel().getPathName() : e.getAlias())).collect(Collectors.toList());
return convertResultToResultTypeList(parameters, resultTypeClass, entityListBySelectableFilter, isPage);
} else {
return new ArrayList<>();
Expand Down Expand Up @@ -204,8 +204,8 @@ protected static <Entity, ResultType> Iterable<ResultType> getEntityListWithRetu
query.multiselect(selectionList);
} else if (!resultTypeClass.equals(entityClass)) {
List<Selection<?>> selectionList = new ArrayList<>();
Set<SingularAttributeImpl> declaredAttributes = ((RootImpl) root).getModel().getDeclaredAttributes();
for (SingularAttributeImpl declaredAttribute : declaredAttributes) {
Set<Attribute> declaredAttributes = ((JpaRoot) root).getModel().getDeclaredAttributes();
for (Attribute declaredAttribute : declaredAttributes) {
selectionList.add(root.get(declaredAttribute.getName()));
}
query.multiselect(selectionList);
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/beyt/jdq/query/DynamicSpecification.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.util.Pair;

import javax.persistence.criteria.*;
import jakarta.persistence.criteria.*;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

import com.beyt.jdq.dto.Criteria;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import com.beyt.jdq.util.SpecificationUtil;
import lombok.extern.slf4j.Slf4j;

import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import jakarta.persistence.criteria.CriteriaBuilder;
import jakarta.persistence.criteria.Path;
import jakarta.persistence.criteria.Predicate;

/**
* Created by tdilber at 25-Aug-19
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.NoRepositoryBean;

import javax.persistence.Tuple;
import jakarta.persistence.Tuple;
import java.util.List;

@NoRepositoryBean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.springframework.data.repository.core.RepositoryMetadata;
import org.springframework.data.repository.core.support.RepositoryFactorySupport;

import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;
import java.io.Serializable;


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
import org.springframework.data.jpa.repository.support.SimpleJpaRepository;
import org.springframework.data.repository.NoRepositoryBean;

import javax.persistence.EntityManager;
import javax.persistence.Tuple;
import jakarta.persistence.EntityManager;
import jakarta.persistence.Tuple;
import java.io.Serializable;
import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import org.springframework.data.jpa.domain.Specification;
import org.springframework.data.repository.NoRepositoryBean;

import javax.persistence.Tuple;
import jakarta.persistence.Tuple;
import java.util.List;

@NoRepositoryBean
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

import javax.persistence.EntityManager;
import jakarta.persistence.EntityManager;

public class ApplicationContextUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
Expand Down
Loading

0 comments on commit fd80c7c

Please sign in to comment.