You can write finders for anything. The findByPrimaryKey is required, but you can also write findByCity(
String city) and findAllWetStinkyDogs() or whatever.
They just have to be named "find<whatever>".
Finders may return a single bean or a Collection of them.
You just define what you want in the home interface and provide an appropriate implementation. If you are using CMP (Container Managed Persistence), this means you supply the appropriate EJB-QL in your deployment descriptor.
If you are writing BMP (Bean managed), then you author a method called "ejbFind<whatever>" that takes the same arguments as the one in your home. The only difference is that this one returns a PK or a Collection of PK objects.
So that's the two-cent overview.
Grab a good
EJB book - I like the one by Richard Monson-Haefel from OReilly. Ed Rowman's is pretty good too, and you can download a copy from theserverside.com.