我有一个名为loginlog的实体类(它指向我的mysql中的loginlog表),它只有两个属性,一个是用户标识,另一个是datetime。 我试图让每个用户在一天内获得登录次数。我的查询返回2列,这是用户ID和计数。由于计数不是实体类的属性,我将如何映射查询的结果?我可以使用POJO类来完成它,但我有许多类似性质的查询。如果我使用POJO,我必须创建如此多的课程。本机查询的Spring JPA实体类映射
有没有更好的方法来克服这个问题?
我有一个名为loginlog的实体类(它指向我的mysql中的loginlog表),它只有两个属性,一个是用户标识,另一个是datetime。 我试图让每个用户在一天内获得登录次数。我的查询返回2列,这是用户ID和计数。由于计数不是实体类的属性,我将如何映射查询的结果?我可以使用POJO类来完成它,但我有许多类似性质的查询。如果我使用POJO,我必须创建如此多的课程。本机查询的Spring JPA实体类映射
有没有更好的方法来克服这个问题?
据我所知你需要返回用户数只在一列。 所以试试这个查询:select COUNT(l.id) from loginlog l where l.id = :id
和:id是针对特定用户你想计算他的登录次数。
您可以从您的Repository返回List<Object[]>
。例如,如果您的选择是这样的:SELECT id, count(*) FROM ...
Object数组中的第一个元素将是id,第二个元素是count。
我可以在Object []中获取列名吗? – Nikesh
我不这么认为。您只需按选择顺序对列进行映射。 – Cyril