我的数据库中有一个新表格,它只汇总了一些我不想在我的任何实体中作为参考的数据。因为上面我在申请中没有这种类型的实体。现在,当我想从该表创建简单查询时,问题就出现了。我们在应用程序中使用命名查询和标准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;