Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过关系查找的Spring数据粗略存储_Java_Sql_Spring_Spring Data_Spring Data Jpa - Fatal编程技术网

Java 通过关系查找的Spring数据粗略存储

Java 通过关系查找的Spring数据粗略存储,java,sql,spring,spring-data,spring-data-jpa,Java,Sql,Spring,Spring Data,Spring Data Jpa,我想选择所有具有状态为new的任何条形图的Foo实体 以下是我尝试过的: @Entity @Table(name = "FOO") class Foo { @Id @Column(name = "ID") @GeneratedValue(strategy= GenerationType.IDENTITY) private Long id; @OneToMany private Set<Bar> bars; //... }

我想选择所有具有状态为new的任何条形图的Foo实体

以下是我尝试过的:

@Entity
@Table(name = "FOO")
class Foo {

    @Id
    @Column(name = "ID")
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private Long id;

    @OneToMany
    private Set<Bar> bars;

   //...
}



public interface FooRepository extends CrudRepository<Foo, Long> {


    @Query("select m from Foo f where f.bars.status = 'NEW' ")
    public Page<Foo> findByBarStatus(Pageable pageable);

}
我还尝试编写join语句:

select f from Foo f inner join f.bars b where b.status = 'NEW'

我想你错过了这样的事情

@OneToMany(mappedBy = "foo")
private Set<Bar> bars;
@OneToMany(mappedBy=“foo”)
私人酒吧;

我想你错过了这样的东西

@OneToMany(mappedBy = "foo")
private Set<Bar> bars;
@OneToMany(mappedBy=“foo”)
私人酒吧;

加入一对多关系有时会很棘手。(还有另一个正确的答案,您可以参考)

在这种情况下,您可以通过从
侧向上查看,以相反的方式进行操作(假设您的关系是双向的):

select bar.foo from Bar bar where bar.status = 'NEW'

加入一对多关系有时会很棘手。(还有另一个正确的答案,您可以参考)

在这种情况下,您可以通过从
侧向上查看,以相反的方式进行操作(假设您的关系是双向的):

select bar.foo from Bar bar where bar.status = 'NEW'

你忘记了“AS”你忘记了“AS”实际上我也丢失了
@JoinColumn(name=“Bar”)
@Benedictus它不一定“丢失”,因为Hibernate可以推断出列名(尽管名称可能不是你想要的),实际上我也丢失了
@JoinColumn(name=“Bar”)
@Benedictus它不一定“丢失”,因为Hibernate可以推断列名(尽管名称可能不是您想要的)