 <p>I believe saveOrUpdate does exactly what you want. But its behavior also depends on your mapping.</p> <p>If you do saveOrUpdate, does it give you the results you expect?</p> <hr> <p>A bit off-topic here: do you know about Query By Example? <a href="http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html#querycriteria-examples" rel="nofollow">http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querycriteria.html#querycriteria-examples</a></p> <hr> <p>Never mind. I just see this question is two years old. Stupid 'related questions'-option of stackoverflow.</p>