The shallow problem lies in lack of proper exception handling. If MySQL cannot save data, the exception is handled immediately, but the main flow of the program does not check if the save operation was successful.
Deep problem lies in the design of layers. If 1 of 2 layers successfully saves data, then there should be possibility to rollback entire save transaction. Unfortunately, proper transaction handling for Smart* layers is impossible. This concerns multi-layer operations (i.e., writing): save, update, insert, delete.
The shallow problem lies in lack of proper exception handling. If MySQL cannot save data, the exception is handled immediately, but the main flow of the program does not check if the save operation was successful.
Deep problem lies in the design of layers. If 1 of 2 layers successfully saves data, then there should be possibility to rollback entire
save
transaction. Unfortunately, proper transaction handling for Smart* layers is impossible. This concerns multi-layer operations (i.e., writing): save, update, insert, delete.