JPA Spring存储库findAll()返回一个空列表



我正在尝试使用JPA-findAll获取所有记录。如果我在终端中运行相同的查询,结果会得到一些行,但不会通过JPA。我试着在stackoverflow上找到其他答案,但都没用。我尝试添加公共getter和setter,尽管我认为这是由注释完成的。

型号类别:


import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@ToString
@Entity
@Table(name = "tea")
public class Product {
@Id
@GeneratedValue(generator = "prod_seq", strategy = GenerationType.SEQUENCE)
@SequenceGenerator(name = "prod_seq", sequenceName = "seq_prod", allocationSize = 1, initialValue = 1)
@Column(name = "product_id")
private int productId;
private String name;
@Column(name = "price_per_kg")
private int pricePerKg;
private String type;
@Lob
@Column(length = 2000)
private String description;
@Column(name = "image_url")
private String imageUrl;
private String category;
}

服务类别:


import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tea.exceptions.ProductNotFoundException;
import com.tea.models.Product;
import com.tea.repository.ProductRepository;
@Service
public class ProductServiceImpl implements ProductService{

@Autowired
ProductRepository productRepository;

@Override
public List<Product> getAll() throws ProductNotFoundException {
return productRepository.findAll();
}
}

编辑:添加存储库代码:


import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import com.tea.models.Product;

public interface ProductRepository extends JpaRepository<Product,Integer >{

@Query("from Product where type like :type ")
List<Product> findByType( String type);

@Query("from Product where type =?2  and category= ?1")
List<Product> findByCategoryAndType(String category, String type);

@Query("from Product where category like :category")
List<Product> findByCategory(String category);
}

我认为查询应该包含像Productp这样的表的别名,然后包含像p.type.这样的条件

最新更新