Я работаю над веб-приложением, которое использует Jersey
для обмена данными между бэкэндом (Java EE и PostgreSQL) и внешним интерфейсом.
У меня есть класс Point
со следующими полями:
private int id;
private float x;
private float y;
private int r;
private boolean hit;
У меня также есть bean-компонент и сервисный метод для получения всех строк из базы данных:
//PointsBean.java
@GET
@Path("/getpoints")
public List<Point> getPoints(@Context HttpServletRequest req)
{
return service.getAllPoints();
}
//PointsService.java
public List<Point> getAllPoints()
{
return (List<Point>) em.createQuery("SELECT p FROM Point p").getResultList();
}
Однако, когда я отправляю запрос GET XmlHttpRequest из Javascript, я получаю следующее:
0: {hit: true, id: 115, r: 2, x: {}, y: {}}
1: {hit: false, id: 116, r: 2, x: {}, y: {}}
2: {hit: true, id: 117, r: 2, x: {}, y: {}}
Как видите, значения с плавающей точкой отсутствуют. В БД эти столбцы имеют тип real
, который должен соответствовать float
для Java.
Что я делаю не так?