As far as I know, LJ::User (the package) doesn't have the functions to load users; on the other hand, LJ/User.pm (the file) does. Yes, the file mixes packages. The actual function to load a user is LJ::load_user(), which is located in the LJ/User.pm file. So really, they need separating for more than Model reasons. ;p But it's going to be a fair bit of work to do that for everything...
Re: I miss Hibernate