I\'m wondering if there\'s an approved practice in a multi-threaded app. Should I have one DAO per thread or simply make one DAO a thread safe singleton.
Use the approach that best suits your application architecture, unless:
1) Your data access objects are expensive to create, in which case you should lean toward a thread-safe singleton.
2) Your objects maintain mutable state, as in the Active Record pattern. (Immutable DAO configuration state, like timeout thresholds, doesn't count.)