Example usage for org.hibernate.type TimestampType INSTANCE

List of usage examples for org.hibernate.type TimestampType INSTANCE

Introduction

In this page you can find the example usage for org.hibernate.type TimestampType INSTANCE.

Prototype

TimestampType INSTANCE

To view the source code for org.hibernate.type TimestampType INSTANCE.

Click Source Link

Usage

From source file:com.formkiq.core.dao.ObjectEventDaoImpl.java

License:Apache License

@SuppressWarnings({ "unchecked", "resource" })
@Override//from ww w .  ja  v a2s  .  co m
public ObjectEventListDTO list(final User user) {

    StringBuilder sql = new StringBuilder("select oe.object_event_id as eventid, oe.type, "
            + "f.name as foldername, oe.notification, "
            + " oe.object_id as object, oe.inserted_date as insertedDate " + "from object_events oe "
            + "join folders f on f.folder_id=oe.object_id " + "where oe.user_id=:user " + "order by f.name");

    Session session = getEntityManager().unwrap(Session.class);

    List<ObjectEventDTO> list = session.createSQLQuery(sql.toString()).addScalar("eventid", StringType.INSTANCE)
            .addScalar("type", StringType.INSTANCE).addScalar("foldername", StringType.INSTANCE)
            .addScalar("notification", StringType.INSTANCE).addScalar("object", StringType.INSTANCE)
            .addScalar("insertedDate", TimestampType.INSTANCE)
            .setParameter("user", user.getUserid(), PostgresUUIDType.INSTANCE)
            .setResultTransformer(new AliasToBeanResultTransformer(ObjectEventDTO.class)).list();

    ObjectEventListDTO dto = new ObjectEventListDTO();
    dto.setEvents(list);

    return dto;
}

From source file:com.formkiq.core.dao.ObjectEventDaoImpl.java

License:Apache License

@SuppressWarnings("resource")
@Override/* ww w  .  j  av  a 2  s.  c  o  m*/
public ObjectEventDTO findEvent(final UUID eventid) {
    StringBuilder sql = new StringBuilder("select oe.object_event_id as eventid, " + "u.email as email, "
            + "oe.type, " + "f.name as foldername, " + "oe.notification, " + "oe.object_id as object, "
            + "oe.inserted_date as insertedDate " + "from object_events oe "
            + "join folders f on f.folder_id=oe.object_id " + "join users u on u.user_id=oe.user_id "
            + "where oe.object_event_id=:id");

    Session session = getEntityManager().unwrap(Session.class);

    ObjectEventDTO dto = (ObjectEventDTO) session.createSQLQuery(sql.toString())
            .addScalar("eventid", StringType.INSTANCE).addScalar("type", StringType.INSTANCE)
            .addScalar("email", StringType.INSTANCE).addScalar("foldername", StringType.INSTANCE)
            .addScalar("notification", StringType.INSTANCE).addScalar("object", StringType.INSTANCE)
            .addScalar("insertedDate", TimestampType.INSTANCE)
            .setParameter("id", eventid, PostgresUUIDType.INSTANCE)
            .setResultTransformer(new AliasToBeanResultTransformer(ObjectEventDTO.class)).uniqueResult();

    return dto;
}

From source file:com.formkiq.core.dao.ReportDaoImpl.java

License:Apache License

@SuppressWarnings({ "unchecked", "resource" })
@Override/*w w  w .ja va 2 s  . c om*/
public ReportListDTO getReports(final String folderid) {

    String sql = "select data #>> '{name}' as name, " + "data #>> '{formuuid}' as formuuid, "
            + "updated_date as updateddate, " + "inserted_date as inserteddate, " + "report_uuid as uuid, "
            + "sha1_hash as sha1hash " + "from folder_form_reports " + "where folder_id=:folder";

    Session session = getEntityManager().unwrap(Session.class);

    List<ReportDTO> list = session.createSQLQuery(sql.toString()).addScalar("name", StringType.INSTANCE)
            .addScalar("formuuid", StringType.INSTANCE).addScalar("uuid", StringType.INSTANCE)
            .addScalar("sha1hash", StringType.INSTANCE).addScalar("updateddate", TimestampType.INSTANCE)
            .addScalar("inserteddate", TimestampType.INSTANCE)
            .setParameter("folder", UUID.fromString(folderid), PostgresUUIDType.INSTANCE)
            .setResultTransformer(new AliasToBeanResultTransformer(ReportDTO.class)).list();

    ReportListDTO dto = new ReportListDTO();
    dto.setReports(list);
    return dto;
}

From source file:com.formkiq.core.dao.UserDaoImpl.java

License:Apache License

@SuppressWarnings({ "unchecked", "resource" })
@Override//from  w  w w . ja  v  a  2  s . c om
public UserNotificationListDTO findNotifications(final User user, final String token) {

    int offset = Strings.getOffset(token);
    int max = Strings.getMaxResults(token, DEFAULT_MAX_RESULTS);

    StringBuilder sql = new StringBuilder(
            "select user_notifications_id as uuid, " + "data->'workflow'->>'label1' as \"workflow.label1\", "
                    + "data->'workflow'->>'label2' as \"workflow.label2\", "
                    + "data->'workflow'->>'label3' as \"workflow.label3\", " + "method as method, "
                    + "inserted_date as inserteddate " + "from user_notifications " + "where user_id=:user "
                    + "order by inserted_date, method desc ");

    sql.append(" OFFSET " + offset + " FETCH FIRST " + (max + 1) + " ROWS ONLY");

    Session session = getEntityManager().unwrap(Session.class);

    List<Map<String, Object>> list = session.createSQLQuery(sql.toString())
            .addScalar("uuid", StringType.INSTANCE).addScalar("workflow.label1", StringType.INSTANCE)
            .addScalar("workflow.label2", StringType.INSTANCE).addScalar("workflow.label3", StringType.INSTANCE)
            .addScalar("method", EnumCustomType.transform(NotificationMethod.class))
            .addScalar("inserteddate", TimestampType.INSTANCE)
            .setParameter("user", user.getUserid(), PostgresUUIDType.INSTANCE)
            .setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE).list();

    UserNotificationListDTO dto = new UserNotificationListDTO();

    List<UserNotificationDTO> unlist = transformMapListToObject(list, UserNotificationDTO.class);

    List<UserNotificationDTO> tr = updatePagination(dto, offset, max, unlist);

    dto.setNotifications(tr);

    return dto;
}

From source file:com.formkiq.core.dao.UserDaoImpl.java

License:Apache License

@SuppressWarnings("resource")
@Override/*w  w  w  .  ja va 2 s .  co m*/
public UserDTO findUserDTO(final String email) {

    String sql = "select u.user_id as userid, u.email as email, " + " u.password as password, "
            + " u.status as status, u.role as role, " + " u.lastlogin_date as lastlogin, "
            + " u.last_user_agent as lastuseragent, " + " u.login_token as logintoken " + " from Users u"
            + " where u.email=:email";

    Session session = getEntityManager().unwrap(Session.class);

    UserDTO dto = (UserDTO) session.createSQLQuery(sql).addScalar("userid", StringType.INSTANCE)
            .addScalar("email", StringType.INSTANCE).addScalar("password", StringType.INSTANCE)
            .addScalar("status", StringType.INSTANCE).addScalar("role", StringType.INSTANCE)
            .addScalar("lastlogin", TimestampType.INSTANCE).addScalar("lastuseragent", StringType.INSTANCE)
            .addScalar("logintoken", StringType.INSTANCE).setParameter("email", email)
            .setResultTransformer(new AliasToBeanResultTransformer(UserDTO.class)).uniqueResult();

    if (dto != null) {

        List<FolderDTO> folders = this.folderDao.findFoldersDTO(email, FolderStatus.ACTIVE);
        dto.setFolders(folders);

        UUID userid = dto.getUUID();
        Collection<UserSetting> settings = findUserSettings(userid);

        Map<String, String> map = new HashMap<>();
        for (UserSetting us : settings) {
            map.put(us.getSetting().name(), us.getValue());
        }
        dto.setSettings(map);
    }

    return dto;
}

From source file:com.formkiq.core.dao.UserDaoImpl.java

License:Apache License

@SuppressWarnings({ "unchecked", "resource" })
@Override/*from   ww w. ja  v  a 2s  . c  o  m*/
public UserListDTO findUsers(final String token, final String text) {

    int offset = Strings.getOffset(token);
    int max = Strings.getMaxResults(token, DEFAULT_MAX_RESULTS);

    StringBuilder sql = new StringBuilder("select u.user_id as userid, " + " u.email as email, "
            + " u.status as status, " + " u.role as role, " + " u.lastlogin_date as lastlogin, "
            + " u.last_user_agent as lastuseragent " + " from Users u ");

    if (StringUtils.hasText(text)) {
        sql.append("where u.email like :text ");
    }

    sql.append("order by u.email");

    sql.append(" OFFSET " + offset + " FETCH FIRST " + (max + 1) + " ROWS ONLY");

    Session session = getEntityManager().unwrap(Session.class);

    org.hibernate.Query query = session.createSQLQuery(sql.toString()).addScalar("userid", StringType.INSTANCE)
            .addScalar("email", StringType.INSTANCE).addScalar("status", StringType.INSTANCE)
            .addScalar("role", StringType.INSTANCE).addScalar("lastlogin", TimestampType.INSTANCE)
            .addScalar("lastuseragent", StringType.INSTANCE)
            .setResultTransformer(new AliasToBeanResultTransformer(UserDTO.class));

    if (StringUtils.hasText(text)) {
        query.setParameter("text", "%" + text + "%");
    }

    List<UserDTO> list = query.list();

    UserListDTO dto = new UserListDTO();

    List<UserDTO> truncated = updatePagination(dto, offset, max, list);
    dto.setUsers(truncated);

    return dto;
}

From source file:com.manydesigns.portofino.persistence.hibernate.HibernateConfig.java

License:Open Source License

public boolean setHibernateType(@Nullable SimpleValue value,
        com.manydesigns.portofino.model.database.Column column, Class javaType, final int jdbcType) {
    String typeName;/*from ww w .  j av  a2  s . c  om*/
    Properties typeParams = null;
    if (javaType == null) {
        return false;
    }
    if (javaType == Long.class) {
        typeName = LongType.INSTANCE.getName();
    } else if (javaType == Short.class) {
        typeName = ShortType.INSTANCE.getName();
    } else if (javaType == Integer.class) {
        typeName = IntegerType.INSTANCE.getName();
    } else if (javaType == Byte.class) {
        typeName = ByteType.INSTANCE.getName();
    } else if (javaType == Float.class) {
        typeName = FloatType.INSTANCE.getName();
    } else if (javaType == Double.class) {
        typeName = DoubleType.INSTANCE.getName();
    } else if (javaType == Character.class) {
        typeName = CharacterType.INSTANCE.getName();
    } else if (javaType == String.class) {
        typeName = StringType.INSTANCE.getName();
    } else if (java.util.Date.class.isAssignableFrom(javaType)) {
        switch (jdbcType) {
        case Types.DATE:
            typeName = DateType.INSTANCE.getName();
            break;
        case Types.TIME:
            typeName = TimeType.INSTANCE.getName();
            break;
        case Types.TIMESTAMP:
            typeName = TimestampType.INSTANCE.getName();
            break;
        default:
            typeName = null;
        }
    } else if (javaType == Boolean.class) {
        if (jdbcType == Types.BIT || jdbcType == Types.BOOLEAN) {
            typeName = BooleanType.INSTANCE.getName();
        } else if (jdbcType == Types.NUMERIC || jdbcType == Types.DECIMAL || jdbcType == Types.INTEGER
                || jdbcType == Types.SMALLINT || jdbcType == Types.TINYINT || jdbcType == Types.BIGINT) {
            typeName = NumericBooleanType.INSTANCE.getName();
        } else if (jdbcType == Types.CHAR || jdbcType == Types.VARCHAR) {
            typeName = StringBooleanType.class.getName();
            typeParams = new Properties();
            typeParams.setProperty("true", trueString != null ? trueString : StringBooleanType.NULL);
            typeParams.setProperty("false", falseString != null ? falseString : StringBooleanType.NULL);
            typeParams.setProperty("sqlType", String.valueOf(jdbcType));
        } else {
            typeName = null;
        }
    } else if (javaType == BigDecimal.class) {
        typeName = BigDecimalType.INSTANCE.getName();
    } else if (javaType == BigInteger.class) {
        typeName = BigIntegerType.INSTANCE.getName();
    } else if (javaType == byte[].class) {
        typeName = BlobType.INSTANCE.getName();
    } else {
        typeName = null;
    }

    if (typeName == null) {
        logger.error("Unsupported type (java type: {}, jdbc type: {}) " + "for column '{}'.",
                new Object[] { javaType, jdbcType, column.getColumnName() });
        return false;
    }

    if (value != null) {
        value.setTypeName(typeName);
        if (typeParams != null) {
            value.setTypeParameters(typeParams);
        }
    }
    return true;
}

From source file:com.mercatis.lighthouse3.persistence.commons.hibernate.ValueObjectUserType.java

License:Apache License

public Type[] getPropertyTypes() {
    return new Type[] { BooleanType.INSTANCE, IntegerType.INSTANCE, LongType.INSTANCE, FloatType.INSTANCE,
            DoubleType.INSTANCE, TimestampType.INSTANCE, BlobType.INSTANCE, StringType.INSTANCE,
            ClobType.INSTANCE };//w  ww  .ja  v a  2 s.  c  o  m
}

From source file:com.mercatis.lighthouse3.persistence.commons.hibernate.ValueObjectUserType.java

License:Apache License

public void nullSafeSet(PreparedStatement statement, Object value, int index, SessionImplementor session)
        throws HibernateException, SQLException {
    Dialect d = session.getFactory().getDialect();
    boolean isSqlServer = d instanceof org.hibernate.dialect.SQLServerDialect
            || d instanceof org.hibernate.dialect.SQLServer2008Dialect
            || d instanceof org.hibernate.dialect.SQLServer2008Dialect;
    @SuppressWarnings("deprecation")
    boolean isOracle = d instanceof org.hibernate.dialect.OracleDialect
            || d instanceof org.hibernate.dialect.Oracle8iDialect
            || d instanceof org.hibernate.dialect.Oracle9Dialect
            || d instanceof org.hibernate.dialect.Oracle9iDialect
            || d instanceof org.hibernate.dialect.Oracle10gDialect;

    if (value instanceof Boolean)
        statement.setBoolean(index, (Boolean) value);
    else//from  w ww. j  av a 2 s .  c o  m
        statement.setNull(index, BooleanType.INSTANCE.sqlType());

    if (value instanceof Integer)
        statement.setInt(index + 1, (Integer) value);
    else
        statement.setNull(index + 1, IntegerType.INSTANCE.sqlType());

    if (value instanceof Long)
        statement.setLong(index + 2, (Long) value);
    else
        statement.setNull(index + 2, LongType.INSTANCE.sqlType());

    if (value instanceof Float)
        statement.setFloat(index + 3, (Float) value);
    else
        statement.setNull(index + 3, FloatType.INSTANCE.sqlType());

    if (value instanceof Double)
        statement.setDouble(index + 4, (Double) value);
    else
        statement.setNull(index + 4, DoubleType.INSTANCE.sqlType());

    if (value instanceof java.sql.Timestamp)
        statement.setTimestamp(index + 5, (java.sql.Timestamp) value);
    else if (value instanceof java.util.Date)
        statement.setTimestamp(index + 5, new java.sql.Timestamp(((java.util.Date) value).getTime()));
    else
        statement.setNull(index + 5, TimestampType.INSTANCE.sqlType());

    if (value instanceof byte[] && isOracle)
        statement.setObject(index + 6, (byte[]) value);
    else if (value instanceof byte[])
        statement.setBlob(index + 6, new SerialBlob((byte[]) value));
    else
        statement.setNull(index + 6, java.sql.Types.BLOB);

    if (value instanceof String)
        statement.setString(index + 7, (String) value);
    else
        statement.setNull(index + 7, StringType.INSTANCE.sqlType());

    if (value instanceof char[] && (isOracle || isSqlServer))
        statement.setObject(index + 8, new String((char[]) value).getBytes());
    else if (value instanceof char[])
        statement.setClob(index + 8, new SerialClob((char[]) value));
    else
        statement.setNull(index + 8, java.sql.Types.CLOB);
}

From source file:com.soft.primerproyecto.Dao.BaseDaoHibernate.java

@Override
public List<T> executeNamedQuery(final Method method, final Object[] queryArgs) {
    final String queryName = queryNameFromMethod(method);
    final Query namedQuery = getSessionFactory().getCurrentSession().getNamedQuery(queryName);
    //String[] namedParameters = namedQuery.getNamedParameters();
    if (queryArgs != null) {
        for (int i = 0; i < queryArgs.length; i++) {
            Object arg = queryArgs[i];
            if (arg instanceof String)
                namedQuery.setParameter("param" + i, arg, StringType.INSTANCE);
            else if (arg instanceof Integer)
                namedQuery.setParameter("param" + i, arg, IntegerType.INSTANCE);
            else if (arg instanceof Date)
                namedQuery.setParameter("param" + i, arg, TimestampType.INSTANCE);
            else if (arg instanceof Long)
                namedQuery.setParameter("param" + i, arg, LongType.INSTANCE);
            else if (arg instanceof Float)
                namedQuery.setParameter("param" + i, arg, FloatType.INSTANCE);
            else//from  w w w  .  j a v  a2 s  .  co m
                namedQuery.setParameter("param" + i, arg);
        }
    }
    return (List) namedQuery.list();
}