Wash and clean the fish pieces, and pat them thoroughly dry with a paper towel. Gently mix the fish and all of the marinade ingredients, spreading them out to a single layer on a baking sheet, uncovered. Let the fish marinate in the refrigerator for 4-6 hours. Overnight is best. The fish will dry out slightly, which is perfect for frying later.
For the sauce, add the water, ginger, star anise, cinnamon and bay leaves to a small pot, and bring it to a boil. Turn the heat down to low, cover, and simmer for 15 minutes. After 15 minutes, remove the star anise and cinnamon. Add the brown rock sugar, Shaoxing wine, oyster sauce, light soy sauce, dark soy sauce, Chinese black vinegar, scallions, and orange juice. Simmer slowly over medium low heat until the sauce reduces to about 2 cups (about 20-30 minutes). If necessary, remove the lid towards the end to achieve a slightly thicker sauce, but do keep an eye on it to avoid over-reducing the sauce. Once it’s done, scoop out all the solid spices with a slotted spoon, and let the sauce cool completely. Then it’s ready to use.
Now, to fry the fish. Add 2-3 inches of canola or vegetable oil in a deep, small pot (to avoid using too much oil). Heat the oil to 375 degrees F, and fry the fish in batches of three to four pieces until they turn golden brown. Do not stir the fish around until there is a golden crust, or the delicate fish might fall part in the cooking oil. It’s also best to fry the fish once to get a golden brown color, and then fry the fish again until it’s a dark golden brown. There is no need to worry about over-frying the fish.
Next, put the sizzling fried fish directly into the prepared sauce. Ensure all of the pieces are totally coated. The golden brown crust on the fish will soak up the sauce and flavor the fish. Let the fish soak in the sauce overnight, or at least for a few hours before serving. To serve, plate a few pieces and leave any leftovers in the sauce in the refrigerator until you’re ready to serve it.