Spring boot 2.2.2 ~ 2.2.4 (тот, который я тестировал до сих пор)
У меня есть абстрактный класс
@MappedSuperclass
@Data
@EntityListeners(AuditingEntityListener.class)
@FilterDef(name = "tenantFilter", parameters = {@ParamDef(name = "tenantId", type = "int")})
@Filter(name = "tenantFilter", condition = "tenantId = :tenantId")
public abstract class BaseEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
....
}
Класс персонала, расширяющий абстрактный класс
@EqualsAndHashCode(callSuper = true)
@Entity
@Table(name = "personnel")
@AllArgsConstructor
@NoArgsConstructor
@Data
@EntityListeners(AuditingEntityListener.class)
public class Personnel extends BaseEntity {
@NotNull
@OneToOne
@JoinColumn(name = "titleID")
private Title title;
// other fields and relationships of type ManyToOne, OneToMany
}
Мой класс репозитория Jpa
public interface PersonnelRepository extends JpaRepository<Personnel, Integer> {
Optional<PersonnelData> findByFileNo(String fileNo);
Optional<PersonnelData> findByIdAndDeletedOnIsNull(Integer id);
}
В моей базе данных есть записи персонала с некоторыми полями, равными нулю, и связями.
В моем контроллере, когда я do findById(1)
, он возвращает ноль, но когда я делаю findByIdAndDeletedOnIsNull(1)
, он возвращает запись.
Я пытался @NotFound(action = NotFoundAction.IGNORE)
для отношений, которые null без успеха.