我不是Spring Boot的专家,也不是JHipster的初学者
我的实体是:
@Entity
@Table(name = "meal")
public class Meal implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.EAGER) // added this to JHipster generation
@JsonIgnoreProperties("meals")
private User user;
// ...
}
我认为不需要获取请求,因为我想默认情况下它是渴望的。我也尝试过有无@JsonIgnoreProperties
我没有碰过GET /api/meals
资源
@GetMapping("/meals")
public ResponseEntity<List<Meal>> getAllMeals(Pageable pageable, @RequestParam MultiValueMap<String, String> queryParams, UriComponentsBuilder uriBuilder) {
Page<Meal> page = mealService.findAll(pageable);
HttpHeaders headers = PaginationUtil.generatePaginationHttpHeaders(uriBuilder.queryParams(queryParams), page);
return ResponseEntity.ok().headers(headers).body(page.getContent());
}
也不提供服务:
@Transactional(readOnly = true)
public Page<Meal> findAll(Pageable pageable) {
log.debug("Request to get all Meals");
return mealRepository.findAll(pageable);
}
我得到了这个JSON:
[ {
"id" : 1,
"instant" : "2019-06-20T03:59:53Z",
"user" : null
}, {
"id" : 2,
"instant" : "2019-06-20T04:18:47Z",
"user" : null
}]
答案 0 :(得分:0)
实际上liquibase加载的数据库文件meals.csv
没有user
列。
我已经更新了meals.csv
文件
id;instant;text;user_id
1;2019-06-20T03:59:53;My own value;4
2;2019-06-20T04:18:47;And another meal;4
通过找到loadData
手动更新变更集(可能不是最佳实践!)
<changeSet id="20190620074431-1-data" author="jhipster" context="faker">
<loadData
file="config/liquibase/data/meal.csv"
separator=";"
tableName="meal">
<column name="id" type="numeric"/>
<column name="instant" type="datetime"/>
<column name="text" type="string"/>
<column name="user_id" type="numeric"/> <!-- <<< Added this -->
</loadData>
</changeSet>
然后运行./mvnw clean
并重新启动该应用。
这对我有用,似乎合乎逻辑,但是我想知道为什么不是随机生成外键。