I think that the best answer to your question is to say that you have to let your partner be free. Let him feel free to stay with you. Give him lots of love and pampering but let him go if he wants to and if you let him he will come back to you, If there is a real love that exists between the two of you there is not much that come in between the two of you.
I want my husband to feel that he is with me because he wants to be with me and never because I have forced him to be with me and if after letting him have his freedom he always comes back to me then I know that I am doing something right.
Love is something that doesn't unfortunately last that long, but if after the love you can establish a true relationship then that will last forever.
Always remember something very important which is when you fall in love with someone it it a phase that will only last a certain amount of time because a crazy love has a limit of time and if you have nothing else in common with the person that you have fallen in love with your relationship will not last for that long, but if you have been able to connect with them a bit deeper then there is a good chance that you will be able to last a little bit longer.
In relationships none of us know how long it will last but if we want it to last we wil find the way to make it last. If you feel that you have really fallen in love with someone then give them all of you and don't hold back on anything. Let them get to know your deepest secrets and if there is a reciprocal answer then you know that you are nearly half there.
Making a relationship last is because you want it to last and you will try to understand your partner, give him support and anything lese that he needs. If he gives the same back to you then you know that you have something solid but if you find that it is only a one way street I would suggest that you have not found the right person yet.