Hi!
This is exactly the scenario where object activation can help. You can build a domain structure and configure db4o in such a way that only the Album object and selected information of Photo objects object get activated. This way you have every Photo object loaded but without having every image of the Photo object loaded. Even better - such list enable you to activate individual Photo objects completely (ie loading the byte array that represents your image from the db).
Using (simple) activation you could split your Photo object into:
Photo object holding fields you want to activate immediately and
Image object that holds the byte array of image data.
Setting the class level activation of Photo object will tell db4o to only activate Photo object fields while Image fields (ie the byte array) will be null. Activating Image object manually will load the actual image on demand.
Using TA you can set up which fields are activated by default and which require manual activation. This enables you to keep your Domain structure but is a bit trickier to implement.
I suggest you take the time and read the documentation on Activation. Let me know if you need more help.
Goran