老实说,我对别名有点困惑,所以我希望有人能帮助我更好地理解它们。为了解释我所缺少的,我将使用示例。
可以说我有:
Criteria criteria = session.createCriteria(Car.class)
criteria.createAlias("doors", "doors");
这意味着现在我可以使用一些限制来找到位于左侧的门Car
或沿着这些线的东西。
现在我的问题是如果我在哪里添加多个别名:
criteria.createAlias("doors", "doors").createAlias("doors.keytype", "keytype");
和
criteria.createAlias("tier".tier);
这是什么意思?我的criteria
对象有所有这些别名吗?在这种情况下,getAlias()
方法会返回什么?
从 API:
获取此条件实例封装的实体的别名。
我的印象是所有的别名都被这个实例封装了?我错了吗?我是否不知何故失去了我的第一个别名?
另外,如果我做类似的事情:
Criteria criteri2 = criteria.createAlias("tier".tier);
这是否意味着两者criteria
和criteria2
点都是相同的Criteria
或不同的,哪一个指向什么别名?
此外,鉴于每个createAlias
返回一个Criteria
,我应该将其分配给原始criteria
的还是新的?
好吧,我希望你能看到我的困惑。