/ / Insérer un champ avec une formule (hibernation) - java, mysql, hibernate, formula

Insérer un champ avec une formule (hibernation) - java, mysql, hibernate, formula

Je dois définir l'un des champs d'une autre sélection avant d'insérer un objet.

Je crée des biens comme:

        <property name="measureIndex" not-null="false" type="integer">
<formula>(SELECT MAX(measure.measureIndex)+1 from measure WHERE measure.schemaId = schemaId)</formula>
<column name="measureIndex" default="1" />
</property>

Mais une erreur s'est produite - l'exception imbriquée est: org.hibernate.MappingException: property mapping has wrong number of columns: com.dataswell.core.domain.api.Measure.measureIndex type: integer

Réponses:

1 pour la réponse № 1

Alors essaye :

<property name="measureIndex" not-null="false" type="integer">
<formula>(SELECT IFNULL(MAX(measure.measureIndex),0)+1 from measure WHERE measure.schemaId = schemaId)</formula>
</property>