Hibernate 不支持直接返回 JSON,查詢方法(list()/uniqueResult()/scroll())均返回 Java 對象(實體/DTO/Object[])。
@Autowired ObjectMapper objectMapper;
List users = session.createQuery("from User").list();
String json = objectMapper.writeValueAsString(users);
// 輸出: [{"id":1,"name":"Tom"},{"id":2,"name":"Jerry"}]
配置忽略空值/循環引用:
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
Gson gson = new GsonBuilder()
.excludeFieldsWithoutExposeAnnotation()
.setDateFormat("yyyy-MM-dd HH:mm:ss")
.create();
String json = gson.toJson(users);
List
@JsonIgnore 或 DTO 斷開。