我有记录实体:
@Entity
public class Record implements Serializable {
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "USER_ID", referencedColumnName = "ID")
private User user;
...
和相应的RecordRepository存储库:
public interface RecordRepository extends JpaRepository<Record, Integer> {
List<Record> findByUser(User user);
...
每当我致电 findByUser 时,结果记录都包含用户。但我希望从数据库(record.user == null)实现用户不会被提取。
感谢您的任何建议!
答案 0 :(得分:0)
如果Records通过此findByUser方法一起获取User对象,请尝试重写它,使其仅使用ID:
public interface RecordRepository extends JpaRepository<Record, Integer> {
List<Record> findByUserId(Long id);
}
在您触摸记录之前,这不应获取记录的用户。
现在,如果您不想将用户发送到输出,则仍然必须忽略该端。例如。在Record.getUser()方法上使用@JsonIgnore,或者如果使用的是DTO(如果您具有相同的实体的不同表示,则应该在DTO转换器中将其映射)。