0

如果我使用不支持 column-alias 的数据库,我如何使用这些数据库进行用户休眠?

4

1 回答 1

0

我的回答是否定的......我认为不完全可以将休眠与不支持列别名的数据库一起使用(尽管我没有听说过任何不支持列别名的数据库..)

我使用的不是完全可能的,因为 hibernate 具有 HQL,您可以在其中编写没有列别名的查询。但这并不是休眠的唯一用途.. :)

列别名定义了数据库减少查询所需代码量并使查询通常更易于理解的能力。此外,别名可以作为一种混淆技术来保护数据库字段的真实名称。

正是这个数据库特性被hibernate广泛用于生成SQL查询。这是一个示例休眠生成的 SQL 查询

[DEBUG] 16:30:32,302 AbstractHibernateDAO - getSession :: Session opened successfully.
Hibernate: select tenant0_.ID as ID30_, tenant0_.NAME as NAME30_, tenant0_.SHORT_NAME as SHORT3_30_, tenant0_.DESCRIPTION as DESCRIPT4_30_, tenant0_.ADDRESS as ADDRESS30_, tenant0_.REMARK as REMARK30_, tenant0_.ROOT as ROOT30_ from TENANT tenant0_ where tenant0_.ROOT='N' order by tenant0_.NAME

如果我知道一个不支持列别名的数据库..我肯定想测试一下看看结果..但现在答案将是基于完全休眠利用的否!

于 2013-10-22T11:22:59.427 回答