Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 显示字符串而不是序号的枚举字段_Spring_Hibernate_Spring Mvc_Enums - Fatal编程技术网

Spring 显示字符串而不是序号的枚举字段

Spring 显示字符串而不是序号的枚举字段,spring,hibernate,spring-mvc,enums,Spring,Hibernate,Spring Mvc,Enums,我目前正在SpringMVC设计应用程序中使用Hibernate,该应用程序接收数据并将其存储到MySQL数据库中。我有一个混合的模型和枚举映射。一切正常,存储到数据库中的数据是正确的(它存储的是枚举序号值) 但是,当我使用crudepository中的findAll()方法输出结果时,结果以字符串形式而不是顺序形式显示正确的枚举值。关于我可以实现什么或者事情是这样的,有什么想法吗 下面是一小段代码,展示了我迄今为止所掌握的知识: 枚举(标记为“汽车”): POJO片段(标记为“经销商”): D

我目前正在SpringMVC设计应用程序中使用Hibernate,该应用程序接收数据并将其存储到MySQL数据库中。我有一个混合的模型和枚举映射。一切正常,存储到数据库中的数据是正确的(它存储的是枚举序号值)

但是,当我使用crudepository中的findAll()方法输出结果时,结果以字符串形式而不是顺序形式显示正确的枚举值。关于我可以实现什么或者事情是这样的,有什么想法吗

下面是一小段代码,展示了我迄今为止所掌握的知识:

枚举(标记为“汽车”):

POJO片段(标记为“经销商”):

DAO(标记为“经销商DAO”):

公共接口经销商DAO扩展了CRUDEPository{
}
控制员:

@Autowired
private DealershipDao dao;

@RequestMapping(value="/dataLoad")
public String dataLoad() {
    Dealership dealer = new Dealership();
    dealer.setCarType(Cars.FORD);


    dao.save(dealer);

    return "success";
}

@RequestMapping(value="/findEverything", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Iterable<Dealership> findAll() {
    return dao.findAll();
}
@Autowired
私人经销商;
@请求映射(value=“/dataLoad”)
公共字符串数据加载(){
经销商=新经销商();
经销商。setCarType(汽车。福特);
保存(经销商);
返回“成功”;
}
@RequestMapping(value=“/findEverything”,products=MediaType.APPLICATION\u JSON\u value,method=RequestMethod.GET)
公共可引用findAll(){
返回dao.findAll();
}

现在,如果我使用MySQL编辑器来查看数据,经销商表将显示FORD的枚举序号值(在调用/dataLoad请求之后)。但是当我调用/findEverything请求时,它显示字符串FORD,而不是值

Jackson如何将枚举转换为JSON与JPA无关。您需要告诉Jackson如何序列化枚举。例如,使用

@Enumerated(EnumType.ORDINAL)
private Cars carType;
//getters and setters
public interface DealershipDao extends CrudRepository<Dealership, Integer> {
}
@Autowired
private DealershipDao dao;

@RequestMapping(value="/dataLoad")
public String dataLoad() {
    Dealership dealer = new Dealership();
    dealer.setCarType(Cars.FORD);


    dao.save(dealer);

    return "success";
}

@RequestMapping(value="/findEverything", produces = MediaType.APPLICATION_JSON_VALUE, method = RequestMethod.GET)
public Iterable<Dealership> findAll() {
    return dao.findAll();
}