List of usage examples for org.hibernate.type BigDecimalType BigDecimalType
public BigDecimalType()
From source file:com.vega.service.configuration.SQLQueryBuilder.java
public static <T> Object buildQuery(Class<T> classe, String sql) { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); session.beginTransaction();// w w w .j av a 2 s .c o m ResultTransformer resultTransformer = new AliasToBeanResultTransformer(classe); Field[] fields = classe.getDeclaredFields(); SQLQuery sqlQuery = session.createSQLQuery(sql); for (Field field : fields) { if (field.getType().getSimpleName().equals("Integer")) { sqlQuery.addScalar(field.getName(), new IntegerType()); } else if (field.getType().getSimpleName().equals("GregorianCalendar")) { sqlQuery.addScalar(field.getName(), new DateType()); } else if (field.getType().getSimpleName().equals("BigDecimal")) { sqlQuery.addScalar(field.getName(), new BigDecimalType()); } else if (field.getType().getSimpleName().equals("String")) { sqlQuery.addScalar(field.getName(), new StringType()); } } Object object = sqlQuery.setResultTransformer(resultTransformer).list().get(0); session.getTransaction().commit(); return object; }
From source file:lt.emasina.resthub.server.factory.DataFactory.java
License:Open Source License
public CcData getData(final Session session, final DataHandler handler) throws Exception { final Query q = handler.getQuery(); final SQLQuery query = getPagedSQLQuery(session, handler); for (MdColumn c : q.getColumns()) { switch (c.getType()) { case BLOB: query.addScalar(c.getName(), new BlobType()); break; case CLOB: query.addScalar(c.getName(), new ClobType()); break; case DATE: query.addScalar(c.getName(), new CalendarType()); break; case NUMBER: query.addScalar(c.getName(), new BigDecimalType()); break; case STRING: query.addScalar(c.getName(), new StringType()); break; }/* w w w.j a va 2s. c o m*/ } if (log.isDebugEnabled()) { log.debug(query.getQueryString()); } ExecutorService executor = Executors.newSingleThreadExecutor(); Future<CcData> loopRows = executor.submit(new Callable<CcData>() { @Override @SuppressWarnings("unchecked") public CcData call() throws Exception { CcData cc = new CcData(); for (Object o : query.list()) { cc.addRow(q, o); } return cc; }; }); try { return loopRows.get(q.getTimeOut(), TimeUnit.SECONDS); } catch (ExecutionException | InterruptedException ex) { throw ex; } catch (TimeoutException ex) { throw new ServerErrorException(Status.SERVER_ERROR_GATEWAY_TIMEOUT, ex); } }
From source file:lt.emasina.resthub.server.handler.Handler.java
License:Open Source License
public void applyParameters(SQLQuery query) throws SQLException { for (Map.Entry<QueryParameter, Object> e : parameters.entrySet()) { QueryParameter p = e.getKey();/*from w ww. java2 s. co m*/ Object value = e.getValue(); String name = p.getSqlName(); if (value != null && p.getArray()) { switch (p.getType()) { case DATE: query.setParameterList(name, (Object[]) value, new DateType()); break; case NUMBER: query.setParameterList(name, (Object[]) value, new BigDecimalType()); break; case STRING: query.setParameterList(name, (Object[]) value, new StringType()); break; case CLOB: case BLOB: throw new ClientErrorException(Status.CLIENT_ERROR_BAD_REQUEST, String.format("LOBs are not supported as parameters: %s", name)); } } else { switch (p.getType()) { case DATE: query.setDate(name, (Date) value); break; case NUMBER: query.setBigDecimal(name, (BigDecimal) value); break; case STRING: query.setString(name, (String) value); break; case CLOB: case BLOB: throw new ClientErrorException(Status.CLIENT_ERROR_BAD_REQUEST, String.format("LOBs are not supported as parameters: %s", name)); } } } }
From source file:org.egov.egf.web.actions.report.BankBookReportAction.java
License:Open Source License
private List<BankBookEntry> getResults(final String glCode1) { final String miscQuery = getMiscQuery(); String OrderBy = ""; final String voucherStatusToExclude = getAppConfigValueFor("EGF", "statusexcludeReport"); final String query1 = "SELECT distinct vh.id as voucherId,vh.voucherDate AS voucherDate, vh.voucherNumber AS voucherNumber," + " gl.glcode||' - '||case when gl.debitAmount = 0 then (case (gl.creditamount) when 0 then gl.creditAmount||'.00cr' when floor(gl.creditamount) then gl.creditAmount||'.00cr' else gl.creditAmount||'cr' end ) else (case (gl.debitamount) when 0 then gl.debitamount||'.00dr' when floor(gl.debitamount) then gl.debitamount||'.00dr' else gl.debitamount||'dr' end ) end" + " AS particulars,case when gl1.debitAmount = 0 then gl1.creditamount else gl1.debitAmount end AS amount, case when gl1.debitAmount = 0 then 'Payment' else 'Receipt' end AS type," + " case when (case when ch.instrumentnumber is NULL then ch.transactionnumber else ch.instrumentnumber ||' , ' ||TO_CHAR(case when ch.instrumentdate is NULL THEN ch.transactiondate else ch.instrumentdate end,'dd/mm/yyyy') end ) is NULL then case when ch.instrumentnumber is NULL then ch.transactionnumber else ch.instrumentnumber end ||' , ' ||TO_CHAR(case when ch.instrumentdate is NULL then ch.transactiondate else ch.instrumentdate end,'dd/mm/yyyy') end" + " AS chequeDetail,gl.glcode as glCode,ch.description as instrumentStatus "; queryFrom = " FROM generalLedger gl,generalLedger gl1" + ",vouchermis vmis, VOUCHERHEADER vh left outer join (select iv.voucherheaderid,ih.instrumentnumber,ih.instrumentdate," + "es.description,ih.transactionnumber,ih.transactiondate from egf_instrumentheader ih,egw_status es,egf_instrumentvoucher iv where iv.instrumentheaderid=ih.id and " + "ih.id_status=es.id) ch on ch.voucherheaderid=vh.id WHERE gl.voucherHeaderId = vh.id AND vmis.VOUCHERHEADERID=vh.id " + "and gl.voucherheaderid IN (SELECT voucherheaderid FROM generalledger gl WHERE glcode='" + glCode1 + "') AND gl.voucherheaderid = gl1.voucherheaderid AND gl.glcode <> '" + glCode1 + "' AND gl1.glcode = '" + glCode1 + "' and vh.voucherDate>='" + Constants.DDMMYYYYFORMAT1.format(startDate) + "' " + "and vh.voucherDate<='" + Constants.DDMMYYYYFORMAT1.format(endDate) + "' and vh.status not in(" + voucherStatusToExclude + ") " + miscQuery + " "; OrderBy = "order by voucherdate,vouchernumber"; if (LOGGER.isDebugEnabled()) LOGGER.debug("Main query :" + query1 + queryFrom + OrderBy); final Query query = persistenceService.getSession().createSQLQuery(query1 + queryFrom + OrderBy) .addScalar("voucherId", new BigDecimalType()).addScalar("voucherDate").addScalar("voucherNumber") .addScalar("particulars").addScalar("amount", new BigDecimalType()).addScalar("type") .addScalar("chequeDetail").addScalar("glCode").addScalar("instrumentStatus") .setResultTransformer(Transformers.aliasToBean(BankBookEntry.class)); final List<BankBookEntry> results = query.list(); return results; }
From source file:sz.fcv.core.LottoMng.java
License:Open Source License
public void save() throws FileNotFoundException, IOException { Session session = HQLExecuter.createSession(); Object[] os = new Object[18]; org.hibernate.type.Type[] types = new org.hibernate.type.Type[18]; os[0] = this.getNome(); types[0] = new StringType(); os[1] = this.getNote(); types[1] = new StringType(); os[2] = this.getTarizzoAbete1(); types[2] = new IntegerType(); os[3] = this.getTarizzoAbete2(); types[3] = new IntegerType(); os[4] = this.getTarizzoLarice1(); types[4] = new IntegerType(); os[5] = this.getTarizzoLarice2(); types[5] = new IntegerType(); os[6] = this.getTarizzoTrusi1(); types[6] = new IntegerType(); os[7] = this.getTarizzoTrusi2(); types[7] = new IntegerType(); os[8] = this.getTarizzoTrusiAbete1(); types[8] = new IntegerType(); os[9] = this.getTarizzoTrusiAbete2(); types[9] = new IntegerType(); os[10] = this.getTarizzoTrusiLarice1(); types[10] = new IntegerType(); os[11] = this.getTarizzoTrusiLarice2(); types[11] = new IntegerType(); os[12] = this.getIdFornitore(); types[12] = new IntegerType(); os[13] = this.getDataAggiudicazione(); types[13] = new DateType(); os[14] = this.getDataMisurazione(); types[14] = new DateType(); os[17] = this.getId(); types[17] = new IntegerType(); volumeLordo = new BigDecimal(0); volumeNetto = new BigDecimal(0); LinkedList[] legnami = { abete, larice, trusi, trusiAbete, trusiLarice }; Integer[] tarizzo1 = { tarizzoAbete1, tarizzoLarice1, tarizzoTrusi1, tarizzoTrusiAbete1, tarizzoTrusiLarice1 };/*from w w w . jav a2 s.c o m*/ Integer[] tarizzo2 = { tarizzoAbete2, tarizzoLarice2, tarizzoTrusi2, tarizzoTrusiAbete2, tarizzoTrusiLarice2 }; for (int i = 0; i < legnami.length; i++) { LinkedList<LegnameMng> legname = legnami[i]; if (legname != null) { for (LegnameMng a : legname) { volumeLordo = volumeLordo.add(a.calcolaVolume()); volumeNetto = volumeNetto.add(a.calcolaVolumeNetto(tarizzo1[i], tarizzo2[i])); // se esiste update if (a.getId() != 0) { Object[] tos = new Object[4]; org.hibernate.type.Type[] ttypes = new org.hibernate.type.Type[4]; tos[0] = a.getLunghezza(); ttypes[0] = new BigDecimalType(); tos[1] = a.getDiametro(); ttypes[1] = new BigDecimalType(); tos[2] = a.getNumero(); ttypes[2] = new IntegerType(); tos[3] = a.getId(); ttypes[3] = new IntegerType(); HQLExecuter.executeHQLUpdate(session, "legname_update", tos, ttypes); } else if (a.getIdLotto() != 0 && a.getLunghezza().intValue() != 0 && a.getDiametro().intValue() != 0) { // altrimenti create int aid = HQLExecuter.executeHQLSave(session, a.legname()); a.setId(aid); } } } } os[15] = this.getVolumeLordo(); types[15] = new BigDecimalType(); os[16] = this.getVolumeNetto(); types[16] = new BigDecimalType(); HQLExecuter.executeHQLUpdate(session, "lotto_update", os, types); if (tronchiRimossi != null) { for (Integer id : tronchiRimossi) { Object[] dos = new Object[1]; org.hibernate.type.Type[] dtypes = new org.hibernate.type.Type[1]; dos[0] = id; dtypes[0] = new IntegerType(); HQLExecuter.executeHQLDelete(session, "legname_delete", dos, dtypes); } this.resetTronchiRimossi(); } HQLExecuter.executeHQLDelete(session, "prezzi_delete", new Object[] { id }, new org.hibernate.type.Type[] { new IntegerType() }); for (Prezzo prezzo : this.prezzi.values()) { if (prezzo != null) { System.out.println("TIPO: " + prezzo.getTipologia()); System.out.println(prezzo.getId() + "|" + prezzo.getTipologia() + "|" + prezzo.getIdLotto() + "|" + prezzo.getPrezzo()); HQLExecuter.executeHQLSave(session, prezzo); } } HQLExecuter.commitSession(session); }