JPQL按表名而不是实体名

时间:2016-09-22 22:42:28

标签: jpa jpql named-query

我的数据库中有一个新表格,它只汇总了一些我不想在我的任何实体中作为参考的数据。因为上面我在申请中没有这种类型的实体。现在,当我想从该表创建简单查询时,问题就出现了。我们在应用程序中使用命名查询和标准api作为标准。由于我的查询很简单,并且很多时候会被问到完美的解决方案是使用JPQL和命名查询。但是,如果没有与此表相关的实体,我怎么能实现这一点...据我记得有COLUMN(' xxx')表达式可用于获取未使用的列在实体中,所以也许有类似的东西可以用整个表格来做?

所以,让我回顾一下,因为你可能有一个问题要理解我:)

@Entity
public class Person {

   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
}

@Entity
public class Pet {


   @Id
   @GeneratedValue(strategy = GenerationType.IDENTITY)
   private Long id;
}

让我们说,除了上面两张桌子之外,我还有第三张,我不想在宠物和人身上使用。所以:

CREATE TABLE ANY_OTHER_TABLE(
  PERSON_ID BIGINT NOT NULL,
  PET_ID BIGINT NOT NULL
);

现在问题是JPQL应该如何生成这样的SQL:

SELECT * FROM ANY_OTHER_TABLE WHERE PET_ID = 1;

0 个答案:

没有答案