版本:2.1.0-beta1
增加了表别名的支持。
单表操作一般情况下是不需要表别名的,但是也有一些特殊的情况,例如在操作oracle的xmltype
类型时。
看下面的代码,xmltype
类型字段名为XML_FILE
:
select XML_FILE.getclobval() xmlFile from TABLE where ID = ?
上面的代码会执行出错,报出 ORA-00904: "XML_FILE"."GETCLOBVAL": invalid identifier 的错误。
但是加上表别名后:
select t.XML_FILE.getclobval() xmlFile from TABLE t where t.ID = ?
执行正确!
因此表别名的支持还是必要的,可以用tableAlias
方法来添加表别名:
Criteria criteria = Criteria.select(Table.class).tableAlias("t").addSelectFunc("[xmlFile].getclobval() xmlFile")
.where("tableId", new Object[]{10000002L});
Object obj = jdbcDao.queryForObject(criteria);
//对应的sql
select t.XML_FILE.getclobval() xmlFile from TABLE t where t.TABLE_ID = ?
加上表别名后,表别名对于实体类内的属性也会起效!