如何在Spring Data JPA中对AND和OR进行分组?

时间:2019-03-18 15:39:55

标签: jpa spring-data-jpa

我的存储库类中有一个类似于以下方法的方法:

    try
    {
        sql::Driver *driver = get_driver_instance();
        sql::Connection *connection = driver->connect("tcp://127.0.0.1:3306", "username", "password");

        // Use connection here
    }
    catch (sql::SQLException &e)
    {
        std::cout << "MySQL connection error: " << e.what() << std::endl;

        // Handle exceptions here
    }

基本上,我要查找的是id为findByIdAndMessageTypeLikeOrMessageTypeLike(int id, String a, String b); 和(消息类型类似于ida的所有实体)。

但是,我得到的是:(所有ID为b且消息类型为id的实体)和(所有消息类型为a的实体)。

我尝试了b并且仅使用一个String参数,但是得到了:matchesRegex

在JPARepository方法中是否可以对AND和OR进行分组?

1 个答案:

答案 0 :(得分:0)

我将回答我自己的问题,以下方法似乎可行:

 public ActionResult Movies() {
  var genres = _context.Genres
   .Select(g => new CountOfVideos {
    Classification = g.Name, NumberOfMovies = g.Videos.Count()
   })
   .OrderBy(c => c.NumberOfMovies)
   .ToList();

  return View(genres);
 }