I mentioned these in a few other comments.  Can you explain why you chose to implement providerId as a String and locationId as an Integer?  You implemented them in the database as Strings ... but I suspect you should make these both Integers, in the model and in the database.  You could also connect them directly with users and locations, which would mean changing these to be:
```
Provider provider;
Location location;
```