<p>its out of question that a dao will not hold any state.</p>

<p>however, for easiest access to the class, is it better to use prototype( = new every time) or singleton?</p>

<p>simple object creation is cheap for dao's.. it typically only holds a sessionfactory,
accessing the object from a list of singletons may be equally expensive. </p>

<p>clarfication: the focus of this question is, if there is a common convention to the scoping of daos.</p>

If your question is about
architecture
, I'd go with scoping DAOs to the
Unit of Work
or Transaction you are doing. This
reduces
the potential for
cross-transaction pollution
and
threading-issues
.
If your question is about
performance
, then the answer lies within a
profiler
, which gives you
accurate
numbers for your particular
workload
.