import ns ${{BASIC_PROJECT_NAME}}.model.datatypes.BirthDate
import ns ${{BASIC_PROJECT_NAME}}.model.datatypes.String
import ns ${{BASIC_PROJECT_NAME}}.model.datatypes.int

package ${{MODEL_PROJECT_PACKAGE_NAME}} {

    mappedSuperclass BaseID {
        ${{ENTITY_PROPERTY_BASE_ID}} id
		version int version
    }

    mappedSuperclass BaseUUID {
        ${{ENTITY_PROPERTY_BASE_UUID}} id
		version int version
    }

    /** a natural person */
    entity Person extends BaseUUID { 
        persistenceUnit "businessdata"
        var String firstName
        var String lastName
        var BirthDate birthdate
    }


}