有一个实体Book有一个方法isValid。
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "books")
public class Book implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(length = 50, nullable = false)
private String title;
@Column(length = 50, nullable = false)
private String author;
@Column(length = 50, nullable = false)
private String genre;
@Column(nullable = false)
private String description;
@Column
private int available;
public static boolean isValidate(@NotNull Book book) {
return Valids.textIsValid(book.title);
}
}
它的名称与表中列的名称相匹配。当控制器使用此方法时,参数(object Book)的字段由于某种原因为空,尽管调试显示内部有某个hibernate interceptor字段,target其中包含所有必要的数据。

相应地使用空字段是不可能的。错误是什么,如何纠正?提前致谢。
我们遇到了类似的问题,如果您使用的是 ModelMapper,也许这会有所帮助:https ://github.com/modelmapper/modelmapper/issues/442
在我们的例子中,升级到 2.3.3 版本只是有帮助
也有可能通过简单地通过 getter 解决您的问题,而不是直接访问字段