У меня есть этот класс JPA, где у меня есть 3 столбца id , name и date . База данных уже заполнена данными, где каждая запись имеет идентификатор.
@Data
@Entity
@Table(name = "TEST", schema = "TESTSCHEMA")
public class TestDataJpaRecord implements Serializable {
private static final long serialVersionUID = 1L;
TestDataJpaRecord(){
// default constructor
}
public TestDataJpaRecord(
String name,
Date date,
){
this.name = name;
this.date = date;
}
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy = GenerationType.SEQUENCE,
generator = "TEST_SEQUENCE")
@SequenceGenerator(
sequenceName = "TEST_SEQUENCE", allocationSize = 1,
name = "TEST_SEQUENCEx")
private Long id;
@Column(name = "NAME")
private String name;
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "DATE")
private Date date;
}
Я создал репозиторий JPA для всех данных.
public interface TestDataJpaRecordRepository extends JpaRepository<TestDataJpaRecord, Long> {
}
Я хочу получить данные из БД в формате JSON. Вот мой отдых GET Api. Здесь я возвращаю данные только в виде строки, но хочу вернуть их как JSON.
@GetMapping(value = "data/{id}")
private ResponseEntity<?> getDataFromTheDB(@PathVariable("id") Long id) {
// get one entry form the DB
TestDataJpaRecord testDataJpaRecord =testDataJpaRecordRepository.findOne(id);
// Here I want to return a JSON instead of a String
return new ResponseEntity<>(testDataJpaRecord.toString(), HttpStatus.OK);
}
Есть идеи о том, как я могу вернуть данные как JSON, а не как строку из БД? Я был бы очень признателен за любое предложение.