neveen
neveen

Reputation: 1

queries with hibernate

I have a database include eventType and event Tables

eventType 

  - id
  - name

event

  - id 
  - name
  - location
  - eventType_id
  - eventSubType_id

where eventType_id and eventTypeSubtype_id reference to eventType Table.

What i want to do with hibernate is select all events that have :

I did :

EventCriteria.createCritria("eventType").add(Expression.in("id"),new Long [] {2L,6L});
EventCriteria.createCriteria("eventSubType").add(Expression.in("id", new Long [] {2L,null}));

The output not consider the events that have eventype with id (2 or 6) and eventSubType is null, it consider only the events that have eventype with id (2 or 6) and eventSubType is (2). The output must Be both

Thanks

Upvotes: 0

Views: 97

Answers (2)

malaverdiere
malaverdiere

Reputation: 1537

You used eq instead of in...

Upvotes: 0

KLE
KLE

Reputation: 24169

Assuming that your eventType numbers are ids...

select event 
from Event event
where event.eventType_id in (2,6)
and (eventSubType is null
     or eventSubType = 2)

Upvotes: 2

Related Questions