Моя проблема была решена путем переопределения метода onDescriptorWrite. Я сделал флаг внутри, и если это правда, я продолжаю уведомлять все оставленные характеристики.
@Override public void onDescriptorWrite (BluetoothGatt gatt, дескриптор BluetoothGattDescriptor, int status) {String serviceUUID = descriptor.getCharacteristic (). GetService (). GetUuid (). ToString (); String serviceName = GattAttributes.lookupUUID (descriptor.getCharacteristic (). GetService (). GetUuid (), serviceUUID);
String characteristicUUID = descriptor.getCharacteristic().getUuid().toString();
String characteristicName = GattAttributes.lookupUUID(descriptor.getCharacteristic().getUuid(), characteristicUUID);
String descriptorUUID = descriptor.getUuid().toString();
String descriptorName = GattAttributes.lookupUUID(descriptor.getUuid(), descriptorUUID);
if (status == BluetoothGatt.GATT_SUCCESS) {
written = true;
numberLeft--;
} else {
written = true;
numberLeft--;
}
}
Если мы будем использовать , то @Transactional в наших методах, @CreationTimestamp и @UpdateTimestamp сохранит значение в DB, но возвратит пустой указатель после того, как использование сохранит (...).
В этой ситуации, с помощью saveAndFlush (...) добился цели
Я думаю, что это более опрятно не выполнение этого в коде Java, можно просто установить значение по умолчанию столбца в определении таблицы MySql.