The recovery process of lifting a fuselage-full of water (wings too) is the subject of a tech memo from Boeing. And it was proof-tested in March 2002 when the precious, sole survivor B-307 was ditched in Puget Sound.
The essential limitation is the rate at which the aircraft is lifted as it surfaces; the water must be allowed to drain slowly, and the hoisting reduced to a rate of inches per hour, to insure the aircraft structure and lift cables/straps are not overloaded.
Granted, the 307 was in sheltered and shallow water of Eliott Bay (in fact, still awash, not submerged). This made the job easier, and the place was probably swarming with engineers from Boeing's nearby offices, and the hoist was successful. The 307 was restored to airworthy, and was ferried one last time to the NASM facility at IAD.
History, Travel, Arts, Science, People, Places | Air & Space Magazine
The precautions from the Boeing 307 experience were probably impossible to execute in the choppy Java sea, leading to the inevitable breakup of the AirAsia ship.