Search in sources :

Example 11 with ResultTransformer

use of org.hibernate.transform.ResultTransformer in project RecordManager2 by moravianlibrary.

the class SkatKeyDAOHibernate method getSkatKeysForRecord.

@SuppressWarnings({ "unchecked", "serial" })
@Override
public List<SkatKey> getSkatKeysForRecord(Long skatRecordId) {
    Session session = sessionFactory.getCurrentSession();
    return (List<SkatKey>) session.createSQLQuery("SELECT skat_record_id,sigla,local_record_id,manually_merged" + " FROM skat_keys" + " WHERE skat_record_id = ?").setResultTransformer(new ResultTransformer() {

        @Override
        public Object transformTuple(Object[] tuple, String[] aliases) {
            SkatKeyCompositeId compositeId = new SkatKeyCompositeId();
            boolean manuallyMerged = false;
            for (int i = 0; i < tuple.length; i++) {
                switch(aliases[i]) {
                    case "skat_record_id":
                        compositeId.setSkatHarvestedRecordId(((BigDecimal) tuple[i]).longValue());
                        break;
                    case "sigla":
                        compositeId.setSigla(((String) tuple[i]));
                        break;
                    case "local_record_id":
                        compositeId.setRecordId((String) tuple[i]);
                        break;
                    case "manually_merged":
                        manuallyMerged = (boolean) tuple[i];
                        break;
                }
            }
            SkatKey key = new SkatKey(compositeId);
            key.setManuallyMerged(manuallyMerged);
            return key;
        }

        @SuppressWarnings("rawtypes")
        @Override
        public List transformList(List collection) {
            return collection;
        }
    }).setParameter(0, skatRecordId).list();
}
Also used : SkatKeyCompositeId(cz.mzk.recordmanager.server.model.SkatKey.SkatKeyCompositeId) ResultTransformer(org.hibernate.transform.ResultTransformer) List(java.util.List) SkatKey(cz.mzk.recordmanager.server.model.SkatKey) Session(org.hibernate.Session)

Aggregations

ResultTransformer (org.hibernate.transform.ResultTransformer)11 List (java.util.List)8 Session (org.hibernate.Session)5 ArrayList (java.util.ArrayList)4 Test (org.junit.Test)3 Map (java.util.Map)2 Criteria (org.hibernate.Criteria)2 Transaction (org.hibernate.Transaction)2 Projection (org.hibernate.criterion.Projection)2 CriteriaImpl (org.hibernate.internal.CriteriaImpl)2 TestForIssue (org.hibernate.testing.TestForIssue)2 AliasToBeanResultTransformer (org.hibernate.transform.AliasToBeanResultTransformer)2 AliasToEntityMapResultTransformer (org.hibernate.transform.AliasToEntityMapResultTransformer)2 CacheableResultTransformer (org.hibernate.transform.CacheableResultTransformer)2 ToListResultTransformer (org.hibernate.transform.ToListResultTransformer)2 Transactional (com.google.inject.persist.Transactional)1 Page (com.ngtesting.platform.vo.Page)1 SkatKey (cz.mzk.recordmanager.server.model.SkatKey)1 SkatKeyCompositeId (cz.mzk.recordmanager.server.model.SkatKey.SkatKeyCompositeId)1 Date (java.util.Date)1