What material are heat bags made of? I just bought a heat bag from store and it has special property.

It is made up of transparent plastic bag and transparent unknown liquid inside when sold. There is a tiny circular metal piece in there. If you bend the metal piece, crystalization will occur and release quite a lot of heat. The crystalization will spread out and change all the liquid into crystals.

When the hardened plastic bag cool down, you need to put it into boiling water and the crystals will dissolve and become liquid again.

What is more interesting, I tried to heat it up but not letting all the crystal dissolve, take it out of the boiling water and assume it is ready for the next use. However, the half-dissolved liquid/crystal turns into all crystals again (without me bending the metal piece). I am guessing the transformation was not complete and the process was reverted.

Did the Japanese invent this material?
The bag contains a supersaturated solution of some salt with a highly negative enthalpy of crystallisation, which could be something like sodium acetate ($\ce{Na^{+}CH3CO2^{-}}$). The dissolved salt would really like to come out of solution but lacks a nucleation site. Bending the metal disk produces a transient site where crystallisation can begin, and from there are chain reaction results, causing all of the solute to crystallise and release the heat associated with this crystallisation.

Your guess regarding the half-dissolved crystals is correct - the crystals that have not dissolved act as seed crystals for further crystal growth. You need to dissolve all of the crystals to prevent the process from spontaneously reversing.

Despite the popularity of this kind of reaction for modern self-heating food/drink packaging in Japan, I suspect the discovery of this kind of reaction is lost to antiquity, as for instance sodium acetate can be made by simply mixing salt and vinegar. I recall reading that the highly exothermic reaction of calcium oxide and water was used in self-heating cans of food back in World War I.