I don't see anything terrible about this play. You made standard raise pre-flop. Flop came out semi-coordinated, you bet out pot-size, he flat-calls. Turn, you bet out half the pot, he calls. River, you bet out 1/3 of the pot, and he fires back all-in. You're getting nearly 4:1 to call. Based on turn and river, it's very unlikely he got his draw. missed flush draw, and only one possible hand for straight, which I doubt he would have.
My only advice is, just bet bigger on the turn, at least 4/5 of pot size bcz you gave your villain almost fair odds
to call for possible flush or oesd.