本文整理了Java中javax.persistence.Tuple
类的一些代码示例,展示了Tuple
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Tuple
类的具体详情如下:
包路径:javax.persistence.Tuple
类名称:Tuple
[英]Interface for extracting the elements of a query result tuple.
[中]用于提取查询结果元组元素的接口。
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void test_criteria_tuple_example() {
doInJPA( this::entityManagerFactory, entityManager -> {
//tag::criteria-tuple-example[]
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Tuple> criteria = builder.createQuery( Tuple.class );
Root<Person> root = criteria.from( Person.class );
Path<Long> idPath = root.get( Person_.id );
Path<String> nickNamePath = root.get( Person_.nickName);
criteria.multiselect( idPath, nickNamePath );
criteria.where( builder.equal( root.get( Person_.name ), "John Doe" ) );
List<Tuple> tuples = entityManager.createQuery( criteria ).getResultList();
for ( Tuple tuple : tuples ) {
Long id = tuple.get( idPath );
String nickName = tuple.get( nickNamePath );
}
//or using indices
for ( Tuple tuple : tuples ) {
Long id = (Long) tuple.get( 0 );
String nickName = (String) tuple.get( 1 );
}
//end::criteria-tuple-example[]
assertEquals(1, tuples.size());
});
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public Set<Entry<String, Object>> entrySet() {
return tuple.getElements().stream() //
.map(e -> new HashMap.SimpleEntry<String, Object>(e.getAlias(), tuple.get(e))) //
.collect(Collectors.toSet());
}
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public Collection<Object> values() {
return Arrays.asList(tuple.toArray());
}
代码示例来源:origin: stackoverflow.com
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Tuple> cq= cb.createTupleQuery();
Root<Documents> root = cq.from(Documents.class);
Expression<Integer> userId = root.get("USERID");
Expression<String> userType = root.get("USERTYPE");
Expression<Long> count = cb.count(userId);
cq.multiselect(userId.alias("USERID"), count.alias("CNT"));
cq.where(cb.equal(userType, "COMPANY");
cq.groupBy(userId);
cq.orderBy(cb.desc(count));
TypedQuery<Tuple> tq = em.createQuery(cq);
for (Tuple t : tq.getResultsList()) {
System.out.println(t.get("USERID"));
System.out.println(t.get("CNT"));
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void test_criteria_group_by_example() {
doInJPA( this::entityManagerFactory, entityManager -> {
//tag::criteria-group-by-example[]
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Tuple> criteria = builder.createQuery( Tuple.class );
Root<Person> root = criteria.from( Person.class );
criteria.groupBy(root.get("address"));
criteria.multiselect(root.get("address"), builder.count(root));
List<Tuple> tuples = entityManager.createQuery( criteria ).getResultList();
for ( Tuple tuple : tuples ) {
String name = (String) tuple.get( 0 );
Long count = (Long) tuple.get( 1 );
}
//end::criteria-group-by-example[]
assertEquals(2, tuples.size());
});
}
代码示例来源:origin: stackoverflow.com
CriteriaQuery<Tuple> cq = builder.createTupleQuery();
// write the Root, Path elements as usual
Root<EntityClazz> root = cq.from(EntityClazz.class);
cq.multiselect(root.get(EntityClazz_.ID), root.get(EntityClazz_.VERSION)); //using metamodel
List<Tuple> tupleResult = em.createQuery(cq).getResultList();
for (Tuple t : tupleResult) {
Long id = (Long) t.get(0);
Long version = (Long) t.get(1);
}
代码示例来源:origin: jamesagnew/hapi-fhir
private void findMatchingTagIds(String theResourceName, IIdType theResourceId, Set<Long> tagIds, Class<? extends BaseTag> entityClass) {
{
CriteriaBuilder builder = myEntityManager.getCriteriaBuilder();
CriteriaQuery<Tuple> cq = builder.createTupleQuery();
Root<? extends BaseTag> from = cq.from(entityClass);
cq.multiselect(from.get("myTagId").as(Long.class)).distinct(true);
if (theResourceName != null) {
Predicate typePredicate = builder.equal(from.get("myResourceType"), theResourceName);
if (theResourceId != null) {
cq.where(typePredicate, builder.equal(from.get("myResourceId"), myIdHelperService.translateForcedIdToPid(theResourceName, theResourceId.getIdPart())));
} else {
cq.where(typePredicate);
}
}
TypedQuery<Tuple> query = myEntityManager.createQuery(cq);
for (Tuple next : query.getResultList()) {
tagIds.add(next.get(0, Long.class));
}
}
}
代码示例来源:origin: stackoverflow.com
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Tuple> q = cb.createTupleQuery();
Root<Test> c = q.from(Test.class);
q.multiselect(c.get("type"), cb.count(c));
q.groupBy(c.get("type"));
TypedQuery<Tuple> t = em.createQuery(q);
List<Tuple> resultList = t.getResultList();
for(Tuple tuple : resultList){
logger.info(tuple.get(0) + " " + tuple.get(1));
}
代码示例来源:origin: kiegroup/jbpm
CriteriaQuery<Tuple> criteriaQuery = builder.createTupleQuery();
tupleRow.get(i++, Long.class),
tupleRow.get(i++, String.class), tupleRow.get(i++, String.class), tupleRow.get(i++, String.class),
tupleRow.get(i++, Status.class), tupleRow.get(i++, Integer.class), tupleRow.get(i++, Boolean.class),
tupleRow.get(i++, String.class), tupleRow.get(i++, String.class),
tupleRow.get(i++, Date.class), tupleRow.get(i++, Date.class), tupleRow.get(i++, Date.class),
tupleRow.get(i++, String.class), tupleRow.get(i++, Long.class), tupleRow.get(i++, Long.class), tupleRow.get(i++, String.class),
tupleRow.get(i++, SubTasksStrategy.class),
tupleRow.get(i++, Long.class) );
代码示例来源:origin: stackoverflow.com
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Tuple> cq = cb.createTupleQuery();
Root<ObjectMetadata> root = cq.from(ObjectMetadata.class);
cq.multiselect(
root.get("fileName").alias("filename"),
cb.greatest(root.<Date>get("lastModified").alias("lastmodified")
);
cq.groupBy(root.get("fileName"));
List<Tuple> result = em.createQuery(cq).getResultList()
for (Tuple t: result) {
System.out.println(t.get("filename") + " " + t.get("lastmodified"));
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public int size() {
return tuple.getElements().size();
}
代码示例来源:origin: spring-projects/spring-data-jpa
/**
* If the key is not a {@code String} or not a key of the backing {@link Tuple} this returns {@code false}.
* Otherwise this returns {@code true} even when the value from the backing {@code Tuple} is {@code null}.
*
* @param key the key for which to get the value from the map.
* @return wether the key is an element of the backing tuple.
*/
@Override
public boolean containsKey(Object key) {
try {
tuple.get((String) key);
return true;
} catch (IllegalArgumentException e) {
return false;
}
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public boolean isEmpty() {
return tuple.getElements().isEmpty();
}
代码示例来源:origin: spring-projects/spring-data-jpa
/**
* If the key is not a {@code String} or not a key of the backing {@link Tuple} this returns {@code null}.
* Otherwise the value from the backing {@code Tuple} is returned, which also might be {@code null}.
*
* @param key the key for which to get the value from the map.
* @return the value of the backing {@link Tuple} for that key or {@code null}.
*/
@Override
@Nullable
public Object get(Object key) {
if (!(key instanceof String)) {
return null;
}
try {
return tuple.get((String) key);
} catch (IllegalArgumentException e) {
return null;
}
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public Object convert(Object source) {
if (!(source instanceof Tuple)) {
return source;
}
Tuple tuple = (Tuple) source;
List<TupleElement<?>> elements = tuple.getElements();
if (elements.size() == 1) {
Object value = tuple.get(elements.get(0));
if (type.isInstance(value) || value == null) {
return value;
}
}
return new TupleBackedMap(tuple);
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public Set<String> keySet() {
return tuple.getElements().stream() //
.map(TupleElement::getAlias) //
.collect(Collectors.toSet());
}
代码示例来源:origin: spring-projects/spring-data-jpa
@Override
public boolean containsValue(Object value) {
return Arrays.asList(tuple.toArray()).contains(value);
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testHibernateSelectClauseFunction() {
doInJPA( this::entityManagerFactory, entityManager -> {
//tag::hql-user-defined-function-postgresql-select-clause-example[]
List<Tuple> books = entityManager.createQuery(
"select b.title as title, apply_vat(b.priceCents) as price " +
"from Book b " +
"where b.author = :author ", Tuple.class )
.setParameter( "author", "Vlad Mihalcea" )
.getResultList();
assertEquals( 1, books.size() );
Tuple book = books.get( 0 );
assertEquals( "High-Performance Java Persistence", book.get( "title" ) );
assertEquals( 5400, ((Number) book.get( "price" )).intValue() );
//end::hql-user-defined-function-postgresql-select-clause-example[]
});
}
代码示例来源:origin: hibernate/hibernate-orm
private static Map<Integer, Integer> buildColumnSizesFromRows(List<Tuple> rows) {
Map<Integer, Integer> columnSizes = new TreeMap<>();
for ( int i = 0; i < rows.size(); ++i ) {
Tuple row = rows.get( i );
// on first row, handle columns
if ( i == 0 ) {
for ( int j = 0; j < row.getElements().size(); ++j ) {
TupleElement<?> element = row.getElements().get( j );
columnSizes.put( j, element.getAlias().length() );
}
}
// handle values
for ( int j = 0; j < row.getElements().size(); ++j ) {
Object value = row.get( j );
int length = ( "" + value ).trim().length();
if ( length > columnSizes.get( j ) ) {
columnSizes.put( j, length );
}
}
}
return columnSizes;
}
代码示例来源:origin: org.springframework.data/spring-data-jpa
@Override
public int size() {
return tuple.getElements().size();
}
内容来源于网络,如有侵权,请联系作者删除!