- Monolith Server is Server generated from jhipster a fat spring application with modification support Query Dsl and Dynamic Report
- Thea Client is beautyful client for replacing default jhipster client side built with React and Material-UI
- Internet Connection
- Postgres SQL for Database
- Java latest version 7 or latest
- Node.js latest version or NVM
- Both already registered to global path either Windows and Linux
- Install Generator Jhipster (4.6.2 use in stack)
- Clone this repository
- Install yarn
npm install -g yarn
and install gulpnpm install gulp
in global - Open server directory and Change database setting
- Install dependecys by running command
yarn install
- Run server by running command
./mvnw.cmd
or./mvnw
- Check browser in http://localhost:8080
- Run default client with
gulp serve
- Check browser in http://localhost:9000
- Open server directory > src > main > resources > config > application-dev.yml or application-prod.yml
- Change Database this configuration for connection to database
datasource: type: com.zaxxer.hikari.HikariDataSource url: jdbc:postgresql://localhost:5432/jhi_jboard username: nebula password: 12qwaszx
Command | Description |
---|---|
jhipster | Create boilerplate |
jhipster entity "entity name" | Generate entity |
./mvnw | Run Jhipster |
./mvnw -Pfast | Run Jhipster fast profile |
./mvnw -Prod | Run Jhipster production profile |
./mvnw -Pprod package | Build Jhipster |
- Open pom.xml in server directory
- Add version in tag
<properties> ... <querydsl.version>4.1.4</querydsl.version> ... </properties>
- Add Query DSL mvn dependency in tag
<dependencies> ... <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-core</artifactId> <version>${querydsl.version}</version> </dependency> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-apt</artifactId> <version>${querydsl.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> <version>${querydsl.version}</version> </dependency> ... </dependencies>
- Add Query DSL maven-plugins in tag
<plugin> <groupId>com.mysema.maven</groupId> <artifactId>apt-maven-plugin</artifactId> <version>1.1.3</version> <executions> <execution> <goals> <goal>process</goal> </goals> <configuration> <outputDirectory>target/generated-sources/java</outputDirectory> <processor>com.querydsl.apt.jpa.JPAAnnotationProcessor</processor> </configuration> </execution> </executions> </plugin>
- Add method QueryDslPredicateExecutor in Repository
@Repository public interface TodoRepository extends JpaRepository<Todo,Long>, QueryDslPredicateExecutor<Todo> { .... }
- Example for add variable QDomain (Generated from QueryDSL)
private final TodoRepository todoRepository; private QTodo qTodo = QTodo.todo; Iterable<Todo> todos = TodoRepository.findAll(qTodo.name.eq("sample"));
- See QueryDSL documentation for more example