Hibernate:Oracle在独立表上加入(+)

时间:2013-07-30 11:36:11

标签: sql oracle hibernate

基本上这是问题:

  1. 我无法使用“(+)”连接
  2. 更改现有查询
  3. 我需要使用Hibernate。
  4. 我不能在这些独立表之间建立关联。
  5. 到目前为止我使用的是

    entityMgr.createNativeQuery("my join (+) query here");

    然后我将其存储在通用

    List<Object> list = query.getResultList()

    通过

    获取列值
        for(Object obj: list) {
           firstColVal = obj[1]
           ...
        }
    

    问题:这是我最好的选择吗?有更好的解决方案吗?

    编辑:你们可以建议一个比Hibernate更合适的ORM框架:)

1 个答案:

答案 0 :(得分:0)

不推荐使用无法从查询中删除的oracle连接操作,因为它是在ANSI标准之前引入的。

该运算符与典型连接不同,但主要区别在于您可以使用ANSI表示法执行更少操作。

您的解决方案可能是在数据库上创建一个将在代码中映射的视图。但您的解决方案仍然有效。您还可以添加result transformer,它将为结果生成有效的元组。