如何延迟加载带有@LastModifiedBy注释的多对一列?
例如,我有createdBy和lastModifiedBy列:
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "manager_id")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@JsonIdentityReference(alwaysAsId = true)
private User manager;
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@CreatedBy
@JoinColumn(name = "created_by")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@JsonIdentityReference(alwaysAsId = true)
@JsonProperty("created_user_id")
private User createdBy;
@ManyToOne(fetch = FetchType.EAGER, optional = false)
@LastModifiedBy
@JoinColumn(name = "last_modified_by")
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
@JsonIdentityReference(alwaysAsId = true)
@JsonProperty("last_modified_user_id")
private User lastModifiedBy;这是工作。但是,当我尝试延迟加载列lastModifiedBy (fetch = FetchType.LAZY,可选= false)时,我就出错了:
2016-06-18 23:10:36,399 WARN [org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver] (default task-8) Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: Problem accessing property 'id': null (through reference chain: com.smcontact.cms.model.project.Project["manager"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: Problem accessing property 'id': null (through reference chain: com.smcontact.cms.model.project.Project["manager"])如何修复此错误?
发布于 2016-06-19 12:41:04
解决方案:注册hibernate模块。
Hibernate5Module hibernateModule = new Hibernate5Module();
objectMapper.registerModule(hibernateModule);https://stackoverflow.com/questions/37902464
复制相似问题