Конечно, вы можете установить id
null или добавить игнорирование в сериализации, но, возможно, вы вообще не хотите загружать id
.Обычно тогда вы используете DTO
или Tuple
, чтобы решить, какие поля заполнять.Поэтому не сначала заполнять все, а затем удалять ненужные (я не использовал ваш Person
, а только один упрощенный пример класса).
Запрос кортежа в вашем хранилище будет просто выглядеть как (JPQL):
@Query("SELECT te.name AS name, te.created as created FROM TestEntity te")
List<Tuple> findAllTuple();
Затем потребуется дополнительная работа, чтобы кортеж соответствовал исходной сущности при сериализации.Поэтому желательно с DTO
, например:
// This class would be exactly as your Person but without that id
@AllArgsConstructor // you need the constructor for new in jpql
public class TestEntityDto {
private String name;
private LocalDateTime created;
}
, тогда как запрос в вашем хранилище будет выглядеть так:
@Query("SELECT NEW org.example.data.entity.dto.TestEntityDto(te.name, te.created) FROM TestEntity te")
List<TestEntityDto> findAllDto();