Java 类org.hibernate.type.SingleColumnType 实例源码
项目:lams
文件:LiteralNode.java
public Object getLiteralValue() {
String text = getText();
if ( getType() == QUOTED_STRING ) {
text = text.substring( 1, text.length() -1 );
}
final Type inherentType = getDataType();
if ( inherentType == null ) {
return text;
}
return ( (SingleColumnType) inherentType ).fromStringValue( text );
}
项目:metaworks_framework
文件:CriteriaTranslatorImpl.java
@SuppressWarnings("unchecked")
protected TypedQuery<Serializable> constructQuery(DynamicEntityDao dynamicEntityDao, String ceilingEntity, List<FilterMapping> filterMappings, boolean isCount, boolean isMax, Integer firstResult, Integer maxResults, String maxField) {
CriteriaBuilder criteriaBuilder = dynamicEntityDao.getStandardEntityManager().getCriteriaBuilder();
Class<Serializable> ceilingMarker;
try {
ceilingMarker = (Class<Serializable>) Class.forName(ceilingEntity);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
Class<Serializable> securityRoot = rowSecurityService.getFetchRestrictionRoot(adminSecurityService.getPersistentAdminUser(), ceilingMarker, filterMappings);
if (securityRoot != null) {
ceilingMarker = securityRoot;
}
Class<Serializable> ceilingClass = determineRoot(dynamicEntityDao, ceilingMarker, filterMappings);
CriteriaQuery<Serializable> criteria = criteriaBuilder.createQuery(ceilingMarker);
Root<Serializable> original = criteria.from(ceilingClass);
if (isCount) {
criteria.select(criteriaBuilder.count(original));
} else if (isMax) {
criteria.select(criteriaBuilder.max((Path<Number>) ((Object) original.get(maxField))));
} else {
criteria.select(original);
}
List<Predicate> restrictions = new ArrayList<Predicate>();
List<Order> sorts = new ArrayList<Order>();
addRestrictions(ceilingEntity, filterMappings, criteriaBuilder, original, restrictions, sorts, criteria);
criteria.where(restrictions.toArray(new Predicate[restrictions.size()]));
if (!isCount && !isMax) {
criteria.orderBy(sorts.toArray(new Order[sorts.size()]));
//If someone provides a firstResult value, then there is generally pagination going on.
//In order to produce consistent results, especially with certain databases such as PostgreSQL,
//there has to be an "order by" clause. We'll add one here if we can.
if (firstResult != null && sorts.isEmpty()) {
Map<String, Object> idMetaData = dynamicEntityDao.getIdMetadata(ceilingClass);
if (idMetaData != null) {
Object idFldName = idMetaData.get("name");
Object type = idMetaData.get("type");
if ((idFldName instanceof String) && (type instanceof SingleColumnType)) {
criteria.orderBy(criteriaBuilder.asc(original.get((String) idFldName)));
}
}
}
}
TypedQuery<Serializable> response = dynamicEntityDao.getStandardEntityManager().createQuery(criteria);
if (!isCount && !isMax) {
addPaging(response, firstResult, maxResults);
}
return response;
}
项目:SparkCommerce
文件:CriteriaTranslatorImpl.java
@SuppressWarnings("unchecked")
protected TypedQuery<Serializable> constructQuery(DynamicEntityDao dynamicEntityDao, String ceilingEntity, List<FilterMapping> filterMappings, boolean isCount, boolean isMax, Integer firstResult, Integer maxResults, String maxField) {
CriteriaBuilder criteriaBuilder = dynamicEntityDao.getStandardEntityManager().getCriteriaBuilder();
Class<Serializable> ceilingMarker;
try {
ceilingMarker = (Class<Serializable>) Class.forName(ceilingEntity);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
Class<Serializable> securityRoot = rowSecurityService.getFetchRestrictionRoot(adminSecurityService.getPersistentAdminUser(), ceilingMarker, filterMappings);
if (securityRoot != null) {
ceilingMarker = securityRoot;
}
Class<Serializable> ceilingClass = determineRoot(dynamicEntityDao, ceilingMarker, filterMappings);
CriteriaQuery<Serializable> criteria = criteriaBuilder.createQuery(ceilingMarker);
Root<Serializable> original = criteria.from(ceilingClass);
if (isCount) {
criteria.select(criteriaBuilder.count(original));
} else if (isMax) {
criteria.select(criteriaBuilder.max((Path<Number>) ((Object) original.get(maxField))));
} else {
criteria.select(original);
}
List<Predicate> restrictions = new ArrayList<Predicate>();
List<Order> sorts = new ArrayList<Order>();
addRestrictions(ceilingEntity, filterMappings, criteriaBuilder, original, restrictions, sorts, criteria);
criteria.where(restrictions.toArray(new Predicate[restrictions.size()]));
if (!isCount && !isMax) {
criteria.orderBy(sorts.toArray(new Order[sorts.size()]));
//If someone provides a firstResult value, then there is generally pagination going on.
//In order to produce consistent results, especially with certain databases such as PostgreSQL,
//there has to be an "order by" clause. We'll add one here if we can.
if (firstResult != null && sorts.isEmpty()) {
Map<String, Object> idMetaData = dynamicEntityDao.getIdMetadata(ceilingClass);
if (idMetaData != null) {
Object idFldName = idMetaData.get("name");
Object type = idMetaData.get("type");
if ((idFldName instanceof String) && (type instanceof SingleColumnType)) {
criteria.orderBy(criteriaBuilder.asc(original.get((String) idFldName)));
}
}
}
}
TypedQuery<Serializable> response = dynamicEntityDao.getStandardEntityManager().createQuery(criteria);
if (!isCount && !isMax) {
addPaging(response, firstResult, maxResults);
}
return response;
}
项目:owsi-core-parent
文件:AbstractImmutableMaterializedPrimitiveValueUserType.java
public AbstractImmutableMaterializedPrimitiveValueUserType(SingleColumnType<P> delegateType) {
super();
this.delegateType = delegateType;
}
项目:blcdemo
文件:CriteriaTranslatorImpl.java
@SuppressWarnings("unchecked")
protected TypedQuery<Serializable> constructQuery(DynamicEntityDao dynamicEntityDao, String ceilingEntity, List<FilterMapping> filterMappings, boolean isCount, boolean isMax, Integer firstResult, Integer maxResults, String maxField) {
CriteriaBuilder criteriaBuilder = dynamicEntityDao.getStandardEntityManager().getCriteriaBuilder();
Class<Serializable> ceilingMarker;
try {
ceilingMarker = (Class<Serializable>) Class.forName(ceilingEntity);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
Class<Serializable> securityRoot = rowSecurityService.getFetchRestrictionRoot(adminSecurityService.getPersistentAdminUser(), ceilingMarker, filterMappings);
if (securityRoot != null) {
ceilingMarker = securityRoot;
}
Class<Serializable> ceilingClass = determineRoot(dynamicEntityDao, ceilingMarker, filterMappings);
CriteriaQuery<Serializable> criteria = criteriaBuilder.createQuery(ceilingMarker);
Root<Serializable> original = criteria.from(ceilingClass);
if (isCount) {
criteria.select(criteriaBuilder.count(original));
} else if (isMax) {
criteria.select(criteriaBuilder.max((Path<Number>) ((Object) original.get(maxField))));
} else {
criteria.select(original);
}
List<Predicate> restrictions = new ArrayList<Predicate>();
List<Order> sorts = new ArrayList<Order>();
addRestrictions(ceilingEntity, filterMappings, criteriaBuilder, original, restrictions, sorts, criteria);
criteria.where(restrictions.toArray(new Predicate[restrictions.size()]));
if (!isCount && !isMax) {
criteria.orderBy(sorts.toArray(new Order[sorts.size()]));
//If someone provides a firstResult value, then there is generally pagination going on.
//In order to produce consistent results, especially with certain databases such as PostgreSQL,
//there has to be an "order by" clause. We'll add one here if we can.
if (firstResult != null && sorts.isEmpty()) {
Map<String, Object> idMetaData = dynamicEntityDao.getIdMetadata(ceilingClass);
if (idMetaData != null) {
Object idFldName = idMetaData.get("name");
Object type = idMetaData.get("type");
if ((idFldName instanceof String) && (type instanceof SingleColumnType)) {
criteria.orderBy(criteriaBuilder.asc(original.get((String) idFldName)));
}
}
}
}
TypedQuery<Serializable> response = dynamicEntityDao.getStandardEntityManager().createQuery(criteria);
if (!isCount && !isMax) {
addPaging(response, firstResult, maxResults);
}
return response;
}
项目:jadira
文件:ColumnMapper.java
SingleColumnType<? super J> getHibernateType();