It depends.
Generally speaking a database is kept up-to-date, so putting the data you read from the database into sessions makes them 'out-of-date' the next time you read them. (because they may have changed in the database) So it's better to read the data from the datbaase directly.
On the other hand, if the data doesn't change very often, or the changes don't have to be visible in your application immediately, then storing the data in sessions saves you a lot of queries, which may speed up your application.
Personally I try to use the database as much as possible to avoid gettin out-of-date data. This is especially important in a busy multi-user environment.