gpt4 book ai didi

java - Spring JPA "And"方法且不为空

转载 作者:行者123 更新时间:2023-12-02 10:34:48 24 4
gpt4 key购买 nike

在 CrudReposity 中使用 AND 时遇到了可笑的麻烦。我想做的就是找到两个东西是否不为空并显示它们。

    public interface StudentRepository extends CrudRepository<Student, Integer>{

List<Student> findByItemAIsNotNullAndItemBIsNotNull();
}

当我运行它时,它似乎将 AND 作为 OR 运行(我尝试了两者),因此它显示其中一个中全部为 null 的内容。

任何帮助将不胜感激

最佳答案

您的代码是正确的,但其他部分可能有问题。否则你可以看到这段代码。它可能对你有帮助。这里我跳过了服务层,尽管它只是为了测试。

package com.example.stack;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Data{
@Id
@GeneratedValue
Integer id;
String itemA;
String itemB;

public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getItemA() {
return itemA;
}
public void setItemA(String itemA) {
this.itemA = itemA;
}
public String getItemB() {
return itemB;
}
public void setItemB(String itemB) {
this.itemB = itemB;
}

}

存储库类

package com.example.stack;

import java.util.List;

import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;


public interface TestRepository extends CrudRepository<Data, Integer>{

List<Data> findByItemAIsNotNullAndItemBIsNotNull();

}

Controller 类

package com.example.stack;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value = "/test")
public class TestController {

@Autowired
TestRepository repo;

@GetMapping
public List<Data> getTest()
{
return (List<Data>) repo.findByItemAIsNotNullAndItemBIsNotNull();

}

}

数据库:

test database

响应:

Postman Response

关于java - Spring JPA "And"方法且不为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53368345/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com