2017-07-14 1 views
1

Dans Liferay i ont une entité comme ci-dessous:service Liferay Builder Table Incrémentation automatique sur chaque déploiement

<entity name="Foo" local-service="true" remote-service="true"> 

     <!-- PK fields --> 

     <column name="fooId" type="long" primary="true" /> 

     <!-- Group instance --> 

     <column name="groupId" type="long" /> 

     <!-- Audit fields --> 

     <column name="companyId" type="long" /> 
     <column name="userId" type="long" /> 
     <column name="userName" type="String" /> 
     <column name="createDate" type="Date" /> 
     <column name="modifiedDate" type="Date" /> 

     <!-- Other fields --> 

     <column name="field1" type="String" /> 
     <column name="field2" type="boolean" /> 
     <column name="field3" type="int" /> 
     <column name="field4" type="Date" /> 
     <column name="field5" type="String" /> 

     <!-- Order --> 

     <order by="asc"> 
      <order-column name="field1" /> 
     </order> 

     <!-- Finder methods --> 

     <finder name="Field2" return-type="Collection"> 
      <finder-column name="field2" /> 
     </finder> 
    </entity> 

Quand je change le code du portlet. À chaque déploiement, sa clé primaire augmente de 100. Il est donc possible de définir un incrément automatique de 1 uniquement. Et il ne doit pas être incrémenté de 100 à chaque déploiement.

Répondre

4

Option 1

Ajouter dans votre colonne de clé primaire id-type="increment"

-à-dire

<column name="fooId" type="long" primary="true" id-type="increment" /> 

Inconvénients: Cela BREAK CLUSTERED Environnement

Option 2

ajouter ceci portal-ext.properties

# 
# Set the number of increments between database updates to the Counter 
# table. Set this value to a higher number for better performance. 
# 
counter.increment=1 //by default it is 100 

Inconvénients: cela aura un impact de votre performance.

+0

Merci @Parth, Si les deux ont par contre. Quelle est la meilleure option alors? –

+0

@VarunArya dépend de votre situation monsieur !! Si vous n'avez pas regroupé env aller pour l'option 1, sinon je ne voudrais pas changer à 1 .. Je ne vois pas de problèmes si les clés primaires sont 101,201,301 –

+1

En accord avec le commentaire: choisissez l'option 3: un ID est juste un ID. Ne supposez rien d'autre que l'identification. Continuez, il ya des problèmes plus importants à résoudre –