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

Spring Boot:使用foreing键执行@Query

尤俊誉
2023-03-14

我正在尝试使用前面键获取bean,如下所示:

--包含外键(user_id:id)的第一个bean:

   @Entity
   @Table
   public class Class_1{
    @Id
    @SequenceGenerator(
       //code
            )
    @GeneratedValue(    
       //code
            )
    private Long id;
    
    @OneToOne
    @JoinColumn(name = "user_id", referencedColumnName = "id")
    private User user;

   /**
   * constructors , getters and setters, ... */
  }
@Entity
@Table
public class User{
    
    @Id
    @SequenceGenerator(
            // code
            )
    @GeneratedValue(    
            //code
            )
    private Long id;

   /**
   * attributes, constructors , getters and setters, ... */
}

下面是我的桌子:

Table Class_1
+ ID + USER_ID +
+----+---------+
+ 1  +   1     +

Table User
+ ID + PARAM_1 + PARAM_2 + ... + PARAM_N +
+----+---------+---------+-----+---------+
+ 1  +  value_1+ value_2 + ... + value_n +

下面是我尝试执行的查询:

    @Query("SELECT * FROM CLass_1 c WHERE c.user_id.id=?1")
    public List<Class_1> findClass_1ByUser(Long userId);

或(但仍不起作用:

@Query("SELECT * FROM CLass_1 c WHERE c.user_id=?1")
    public List<Class_1> findClass_1ByUser(Long userId);
  
  @Query("SELECT * FROM CLass_1 c WHERE c.user=?1")
    public List<Class_1> findClass_1ByUser(User user);

在来临之际谢谢你:)

共有1个答案

田冥夜
2023-03-14

由于声明了HQL查询,您可以将*替换为对象别名Select c FROM CLass_1 c(其中c.user_id=?1)或删除Select例如FROM CLass_1 c(其中c.user_id=?1

 类似资料:
  • 我们什么时候应该使用Spring boot执行器。如果包括在内,它对应用程序内存和CPU使用有多大影响? 我目前正在使用Spring Boot 2. x。

  • 我正在使用springboot,我正在使用执行器和prometheus暴露度量。我想暴露“信息”、“健康”、“度量”、“prometheus”、“关闭”等等。但是即使我指定应用程序属性,我看到的是甚至根“/执行器”也暴露了。 我想禁用根部执行器,只有我之前说过的5个成员。 有没有办法不只暴露/执行器endpoint?我也尝试过在应用程序属性中这样做: 这是外露致动器的列表:

  • 各位工程师,大家好! 我在试图创建一个胖罐子来执行cucumber测试时遇到了一个问题。最初,我按照指南从Baeldung设置测试。当在Maven测试阶段执行时,测试运行良好。当运行带有参数的mvn exec:java命令时,它也能正常工作。 然而,当我创建了一个胖罐子并试图执行测试时,我面临着错误 以下是我的项目的解释,它基本上与Baeldung的测试项目完全一样。 项目结构 直接从可执行jar

  • 我正在将一个旧的java Spring项目重构为springboot,并以传统的war风格部署它。出于某种原因,我必须坚持传统的web.xml来启动应用程序。多亏了Springboot遗产,我可以通过web.xml实现这一点: 此外,我添加了springboot执行器依赖项。应用程序。属性如下所示: 应用程序可以正常启动,但当我尝试从浏览器访问endpoint时,它只返回一个“401需要完全身份验

  • 我希望所有执行器endpoint(在文档中描述)都可用。在文档之后,添加了启动器启动器依赖项和属性,但大多数endpoint不可用(HTTP 404)。 唯一可用的endpoint是,但它显示无用的信息: 添加属性。 添加了依赖项: 获取/执行器的结果 启用执行器endpoint的最小设置是什么?

  • 我正在尝试为一个使用Quarkus和JavaFx的应用程序构建一个本机可执行文件。我实现这一点的唯一方法是将许多javaFx类标记为——在运行时初始化,但这导致在尝试启动应用程序时失败,并显示以下消息: 我想我需要在构建之前添加javafx模块,但不知道如何从Maven实现这一点。如果有人能帮助我,我将非常感激。提前谢谢。 PS:如果有人知道使用springboot的替代解决方案,请分享:) 更新