Skip to content

A jhipster blueprint for using a difference database sequence name for each jpa entity

Notifications You must be signed in to change notification settings

yeoman-projects/generator-jhipster-dbsequences

 
 

Repository files navigation

generator-jhipster-dbsequences

NPM version Build Status Dependency Status

JHipster blueprint, a Jhipster blueprint to have a different database sequence for each database

This is just a demo for testing how a blueprint works. Replacing a database sequence name in the hibernate entity does not require a blueprint and can be done with a module and a post entity hook.

Introduction

This is a JHipster blueprint, that is meant to be used in a JHipster application.

How it works

Insead of using the same hibernate_sequence for all entities this blueprint allows to have a single sequence for each hibernate entity.

Default jhipster code:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator")
private Long id;

Blueprint code:

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGenerator")
@SequenceGenerator(name = "sequenceGenerator", sequenceName="project_seq")
private Long id;

The sequence is also added into the liquibase xml changeset file

Prerequisites

As this is a JHipster blueprint, we expect you have JHipster and its related tools already installed:

Installation

With Yarn

To install this blueprint:

yarn global add generator-jhipster-dbsequences

To update this blueprint:

yarn global upgrade generator-jhipster-dbsequences

With NPM

To install this blueprint:

npm install -g generator-jhipster-dbsequences

To update this blueprint:

npm update -g generator-jhipster-dbsequences

Usage

To use this blueprint, run the below command

jhipster --blueprint dbsequences

Running local Blueprint version for development

During development of blueprint, please note the below steps. They are very important.

  1. Link your blueprint globally

Note: If you do not want to link the blueprint(step 3) to each project being created, use NPM instead of Yarn as yeoman doesn't seem to fetch globally linked Yarn modules. In the other hand this means you have to use NPM in all the below steps as well.

cd dbsequences
npm link
  1. Link a development version of JHipster to your blueprint (optional: required only if you want to use a non-released JHipster version, like the master branch or your own custom fork)

You could also use Yarn for this if you prefer

cd generator-jhipster
npm link

cd dbsequences
npm link generator-jhipster
  1. Create a new folder for the app to be generated and link JHipster and your blueprint there
mkdir my-app && cd my-app

npm link generator-jhipster-dbsequences
npm link generator-jhipster (Optional: Needed only if you are using a non-released JHipster version)

jhipster -d --blueprint dbsequences

License

About

A jhipster blueprint for using a difference database sequence name for each jpa entity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • HTML 90.0%
  • JavaScript 10.0%