Мне было интересно, легко ли выполнить оракул ИНТЕРСЕКТ, используя объект API Criteria.
Используя Hibernate 3.2
EX.Я хочу, чтобы все t.value, которые существуют в «таблице», где имена - Дора и Диего.
ВЫБРАТЬ t.value из таблицы t, где t.name = 'Dora'
INTERSECT
ВЫБРАТЬ t.value из таблицы t, где t.name = 'Diego'
Ядумая, что мне придется использовать Restriction sqlRestriction или написать хранимую процедуру оракула, которая вызывает это.Любые другие предложения?
Решение 1:
Session sessionFactory = sessionFactory.getCurrentSession();
String intersetSQLQuery = "SEE QUERY STRING BELOW";
SQLQuery query = sessionFactory.createSQLQuery( intersetSQLQuery );
query.addScalar( hibernate_mapped_field_name,Hibernate.STRING);
//Returns a list of string objects
nameList = query.list();