
com.github.fluent.hibernate.request.Aliases Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of fluent-hibernate-core Show documentation
Show all versions of fluent-hibernate-core Show documentation
A library to work with Hibernate by fluent API. This library hasn't dependencies except Hibernate dependencies. It requires Java 1.6 and above.
package com.github.fluent.hibernate.request;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.criteria.JoinType;
import org.hibernate.Criteria;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.DetachedCriteria;
/**
* Aliases for SQL request.
*
* @author V.Ladynev
*/
/* package */final class Aliases {
private final Set aliases = new HashSet();
private Aliases() {
}
/**
* Add alias.
*
* @param associationPath
* original full name of field in request
* @param alias
* alias for {@code associationPath}
* @param joinType
* SQL request join type
* @see javax.persistence.criteria.JoinType
*/
public Aliases add(String associationPath, String alias, JoinType joinType) {
add(associationPath, alias, joinType, null);
return this;
}
public Aliases add(String associationPath, String alias, JoinType joinType, Criterion withClause) {
aliases.add(new Alias(associationPath, alias, joinType, withClause));
return this;
}
public void addToCriteria(Criteria criteria) {
for (Alias alias : aliases) {
alias.addToCriteria(criteria);
}
}
public void addToCriteria(DetachedCriteria criteria) {
for (Alias alias : aliases) {
alias.addToCriteria(criteria);
}
}
public static Aliases aliasList() {
return new Aliases();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy