 <p>The structure you want for</p> <pre><code>((te.TeamId in (1) and ar.TeamReadOnly = 1) or te.TeamId is null) </code></pre> <p>will be something like:</p> <pre><code>Restrictions.or( Restrictions.and( Restrictions.in(x, x), Restrictions.eq(x, x) ), Restrictions.eq(x,x) ) </code></pre>