当前位置: 首页 > 知识库问答 >
问题:

Hibernate HQL-将PK中的列包含到查询中

方鸿羲
2023-03-14

我使用Spring Roo对现有数据库进行反向工程,以便对现有数据库进行hibernate建模,在存在复合主键的情况下,它会生成XyzClass和XYZClasspk。

String hql = "select o from XyxClass o where primaryKey1 = :key1 and nonPrimaryKey = :key2";
    TypedQuery<XyzClass> query = entityManager().createQuery(hql, XyzClass.class);
    query.setParameter(......
    query.setParameter(......
    query.getResultList()
@RooJavaBean
@RooToString
@RooJpaActiveRecord(identifierType = XyzClassPK.class, versionField = "", table = "XYZ_CLASS")
@RooDbManaged(automaticallyDelete = true)
public class XyzClass {
@RooIdentifier(dbManaged = true)
public final class XyzClassPK {

    @Column(name = "PRIMARY_KEY1", nullable = false)
    private Integer primaryKey1;

    @Column(name = "PRIMARY_KEY2", nullable = false)
    private Integer primaryKey2;

共有1个答案

劳鹏云
2023-03-14

您的HQL应该如下所示:

String hql = "select o from XyxClass o where o.xyz.primaryKey1 = :key1 and o.nonPrimaryKey = :key2";

其中xyz是您在XyxClass中的Id字段的名称(我在您的代码中看不到它..)希望这有帮助!

 类似资料:
  • 问题内容: 我正在使用SQLAlchemy和SQLite3构建查询,其中我想选择其中String列包含特定子字符串的行。做到这一点的最佳方法是什么? 问题答案: 筛选。还有一个不区分大小写的搜索。 对于更高级的界面,您可以允许使用已知的“ dir”通配符。 笔记: 和是(如果数据库是由另一个应用程序创建的,则SQLSoup很有用) 对于SQLAlchemy Core是。当您需要原始SQL的所有功能

  • 问题内容: 我需要执行django查询,以检查字段是否包含列表中的所有值。该列表的长度将有所不同 例 问题答案: 对于python 3

  • 地址 我尝试过的事情 这只返回用户数据-没有地址数据

  • 问题内容: 编写Django查询时,可以同时使用id / pk作为查询参数。 根据django的文档,我知道pk代表主键,它只是一个快捷方式。但是,尚不清楚何时应使用id或pk。 问题答案: 没关系 从实际的主键字段更加独立,即你不需要关心的主键字段是否被称为或或什么的。 如果你的模型具有不同的主键字段,则还可以提供更高的一致性。

  • 我有一个Spring Boot应用程序。在其中,我有一个SQL查询,需要创建一个子查询,内部将该子查询的结果与另一个表连接,然后从该内连接的结果中进行选择。但是很明显,JPA不允许您在OF子句中使用子查询(我假设既不使用JPQL也不使用Criteria API)。有没有办法绕过这个? 我考虑过将子查询的结果存储在一个临时实体中(理想情况下不创建可持久化到DB的表),然后从存储在这些实体中的数据中进

  • 问题内容: 我使用 PostgreSQL 9.5 和Rails5。我想查询下面显示的包含JSON对象数组的列,以返回包含并执行计数的所有JSON数组元素。我使用 的 SQL 显示在json数据下方。运行查询只会返回一个空数组。 这是我的数据: 我想要其中一个sql查询返回: 和另一个查询以返回数组,以便我可以在应用程序中对其调用count,还可以遍历它以创建表单: 我试过这个SQL查询: 我也试过