There are a few options in your situation. They are described in, for example, such book as "Patterns of Enterprise Application Architecture" by Martin Fowler. So it depends on the architecture pattern that you are going to choose.
When you were trying to find a solution you actually make smth like domain model pattern (User class for related business logic and separate UserRepository class for data access).
You can also merge these responsibilities in one class User (both business logic and data access) and so you will come to Active Record pattern.
However each pattern has its own pros and cons, I think that it definitely would be better to use domain model as it leads to OOP and right separation of concerns.