/ / Wstaw pole z formułą (hibernacja) - java, mysql, hibernacja, formuła

Wstaw pole z formułą (hibernacja) - java, mysql, hibernate, formuła

Muszę ustawić jedno z pól z innego wyboru przed wstawieniem obiektu.

Tworzę własność taką jak:

        <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>

Wystąpił błąd - wyjątek zagnieżdżony to: org.hibernate.MappingException: property mapping has wrong number of columns: com.dataswell.core.domain.api.Measure.measureIndex type: integer

Odpowiedzi:

1 dla odpowiedzi № 1

Więc spróbuj :

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