我使用eclipse链接作为JPA实现。我有一个像这样的命名查询:
@NamedQuery(name = "QueryName",
query = "SELECT c FROM Customer c, AccountingUnit au where c.contract.state = :state AND ...")
生成的SQL查询实际上将查询4个表,这些表获得表别名t0,t1,t2,t3,如下所示:
SELECT ... FROM CUSTOMER t0, ACCOUNTING_UNIT t1, CUSTOMER_CONTRACT t2, ...
现在我想添加一个Oracle Hint,当我说:
时query.setHint("eclipselink.sql.hint" , "/*+ USE_NL(t0 t2) */");
但我更愿意这样写:
query.setHint("eclipselink.sql.hint" , "/*+ USE_NL(Customer Customer_Contract) */");
有没有办法做到这一点?
答案 0 :(得分:0)
使用别名时恕我直言Oracle只会在包含这些别名时使用提示。
我怀疑EclipseLink甚至试图区分各种提示。提示中的单词也可以是索引名称或某个魔术常量。
最好的方法是检查EclipseLink源代码。