【问题标题】:Add count to each row extracted from table将计数添加到从表中提取的每一行
【发布时间】:2015-09-22 12:19:41
【问题描述】:

我有一个如下表:

name age dept
A   22  IT
B   23  CS
C   24  FI  

下面是我在课堂上定义的表结构。

@Table(name = "employee")
@Entity
@IdClass(Emp_uniqueCount.class)
public class Emp_uniqueCount implements Serializable {
    @Id
    @Column(name="name")
    String name;

    @Id
    @Column(name="age")
    String age;

    @Id
    @Column(name="dept")
    String dept;

    }       

界面:

@Component
public interface Employeee_details_Repositry extends Repository<emp_uniqueCount, Integer> {
    List<emp_uniqueCount> findAll();

}   

还有我的主要休息课;

@Autowired
    Employeee_details_Repositry employeeedetailsRepositry;

    @RequestMapping(value = "/pqr", method = RequestMethod.GET)
    @ResponseBody
    public List<emp_uniqueCount> employeeDetails() {
        List<emp_uniqueCount> empList = employeeedetailsRepositry.findAll();

        return empList ;

    }  

我的输出如下所示,这是完美的:

{

    "name": "A",
    "age": "22",
    "dept": "IT",
 }    

如何为每条记录添加一个 count=1 。如下所示 ..

{

    "name": "A",
    "age": "22",
    "dept": "IT",
    "count":1
 } 

【问题讨论】:

  • 有没有count不为1的情况?
  • @Nick..在我的情况下,我只想保留 1..这是一个特殊情况

标签: java spring spring-boot spring-data spring-data-jpa


【解决方案1】:

正如您所描述的,count 不是持久属性,因此您必须计算它。所以你必须修改emp_uniqueCount类来添加一个新的名为count的瞬态属性:

transient Integer count;

当然,一旦您从存储库中检索到 serverNameList,您就可以根据需要对计数属性进行后处理。

顺便说一句,使用第一个小写字母命名java类是不好的做法。

【讨论】:

  • 如果我改变你的问题代码,任何读者都不会理解你的问题,我认为这不合适。我的建议非常简单。添加属性,然后在检索列表后,根据需要为每个 bucle 填充计数属性。
  • 哟..知道了..谢谢...做到了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-22
  • 2016-11-13
  • 2017-02-08
  • 2016-09-13
  • 1970-01-01
相关资源
最近更新 更多