1
//$Id: IdentifierEqExpression.java 5685 2005-02-12 07:19:50Z steveebersole $
2
package org.hibernate.criterion;
5
import org.hibernate.Criteria;
6
import org.hibernate.HibernateException;
7
import org.hibernate.engine.TypedValue;
8
import org.hibernate.util.StringHelper;
11
* An identifier constraint
14
public class IdentifierEqExpression implements Criterion {
16
private final Object value;
18
protected IdentifierEqExpression(Object value) {
22
public String toSqlString(Criteria criteria, CriteriaQuery criteriaQuery)
23
throws HibernateException {
25
String[] columns = criteriaQuery.getIdentifierColumns(criteria);
27
String result = StringHelper.join(
29
StringHelper.suffix( columns, " = ?" )
31
if (columns.length>1) result = '(' + result + ')';
34
//TODO: get SQL rendering out of this package!
37
public TypedValue[] getTypedValues(Criteria criteria, CriteriaQuery criteriaQuery)
38
throws HibernateException {
39
return new TypedValue[] { criteriaQuery.getTypedIdentifierValue(criteria, value) };
42
public String toString() {
43
return "id = " + value;