Standard play but to a much larger 3-bet you could just fold.
From a deeper theoretical perspective it is best to just call here, because its difficult to balance a raising range, when there are no draws. And in position you can just bet turn, bet river and still get the chips inside. But in a 2NL game I dont think, balance really matter, and I also dont think, he is going to bluff turn and river as much, as he theoretically should. So I dont hate this raise but just calling is the more "correct" approach.
As played with only a pot sized bet left, I would just jam it now. As played you cant fold, when he puts the rest in for you. You should only be behind to JJ, and he will most likely also be getting it in with QQ+, which is 6 times as many combos. Its important to note, that when you put in half the remaining stack, you have committed yourself to the pot, and therefore there is no difference between him calling or jamming. Its not like, he can call now and then fold his QQ on the river, when you bet 25% of the pot giving him 5:1. So from his perspective, if he is not going to fold, he might as well jam and be done with the hand.
The opponent overplayed his hand on the flop and then hit a 2-outer on the turn. Thats poker, and its completely standard to go broke with set over set on a dry board for 100BB. Just as its standard to go broke with KK vs. AA preflop. These are some of the most trivial coolers in poker. And while it sucks to get coolered, in the long run coolers dont matter. The shoe is always going to be on the other foot sooner or later, and when he or someone else have the worse set, they will also go broke to your better set.