Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.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 Crudepository,Webservice,返回带有特定字符串的json对象_Java_Spring_Hibernate_Spring Mvc_Jpa - Fatal编程技术网

Java Spring Crudepository,Webservice,返回带有特定字符串的json对象

Java Spring Crudepository,Webservice,返回带有特定字符串的json对象,java,spring,hibernate,spring-mvc,jpa,Java,Spring,Hibernate,Spring Mvc,Jpa,我对Spring Boot开发非常陌生,我需要一些关于某个案例的帮助 我正在使用JPA/Hibernate Spring和Crudepository(Json格式)创建一个RESTful Web服务 我有以下表格: +----+----------+-----------+ | id | filename | +----+----------+-----------+ | 1 | public/11111/Cool | |

我对Spring Boot开发非常陌生,我需要一些关于某个案例的帮助

我正在使用JPA/Hibernate Spring和Crudepository(Json格式)创建一个RESTful Web服务

我有以下表格:

    +----+----------+-----------+
    | id |  filename            |
    +----+----------+-----------+
    |  1 |  public/11111/Cool  |
    |  2 |  public/22222/Cool  |
    |  3 |  public/33333/Cool  |
    |  4 |  public/44444/Cool  |
    |  5 |  public/55555/Cool  |
    |  6 |  public/66666/Cool  |
    |  7 |  private/77777/Cool |
    |  8 |  private/88888/Cool |
    |  9 |  private/99999/Cool |
    +----+----------+-----------+
我拥有以下实体:

@Entity
public class Track{

    @Id
    @Column(name="id")
    private int id;

    @Column(name="filename")
    private String filename;

    public Track() {
        super();
    }

    public Track(int id, String filename) {
        super();
        this.id= id;
        this.filename= filename;
    }

    public int getid() {
        return id;
    }

    public void setid(int id) {
        this.id = id;
    }

    public String getfilename() {
        return dateiName;
    }

    public void setfilename(String filename) {
        this.filename = filename;
    }
}
积垢:

public interface TrackRepository extends CrudRepository<Track, Integer> {

    List<Track> findByid(int id);

}

我需要过滤文件名字符串,然后。。。我就是找不到解决方案。

您可以使用hql来实现这一点

  public interface MusicRepository extends CrudRepository<Music, Integer> {

List<Music> findByid(int id);

@Query("Select m from Music m where m.filename like '%private' or m.filename like '%public'")
List<Music> findCustom();
}
公共界面MusicRepository扩展了Crudepository{
列表findByid(int-id);
@查询(“从音乐m中选择m,其中m.filename类似“%private”或m.filename类似“%public”)
列出findCustom();
}

它引发以下异常:org.springframework.beans.factory.unsatifiedependencyException:创建名为“trackController”的bean时出错:通过字段“trackRepository”表示的未满足的依赖关系;嵌套异常为org.springframework.beans.factory.BeanCreationException:创建名为“trackRepository”的bean时出错:调用init方法失败;嵌套异常为java.lang.IllegalArgumentException:方法公共抽象java.util.List de.hhn.testing.track.TrackRepository.findCustom()的查询验证失败!请注意,我将名称从music更改为“track”,我还得到了以下异常:由以下原因引起:org.springframework.beans.factory.BeanCreationException:创建名为“trackRepository”的bean时出错:调用init方法失败;嵌套异常为java.lang.IllegalArgumentException:方法公共抽象java.util.List de.hhn.testing.track.TrackRepository.findCustom()的查询验证失败!这一个:java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:track未映射[从track m中选择m,其中m.filename(如“%private”)或m.filename(如“%public”)从Music中选择m,Music这里是类的名称,因此如果将其更改为Music,也应在查询中更改它,所以它变成了从轨迹中选择m
[
       {
            "id": 7,
            "filename": "private/77777/Cool"
       }
       {
            "id": 8,
            "filename": "private/88888/Cool"
       }
       {
            "id": 9,
            "filename": "private/99999/Cool"
       }
]
  public interface MusicRepository extends CrudRepository<Music, Integer> {

List<Music> findByid(int id);

@Query("Select m from Music m where m.filename like '%private' or m.filename like '%public'")
List<Music> findCustom();
}