Как отобразить дополнительные псевдонима из нативного запроса на объект JPA, когда столбец физически не существует?JAVA

Программисты JAVA общаются здесь
Anonymous
Как отобразить дополнительные псевдонима из нативного запроса на объект JPA, когда столбец физически не существует?

Сообщение Anonymous »

У меня есть следующий метод репозитория DATA Spring JPA с использованием нативного запроса с подселенным столбцом, который физически не существует в таблице баз данных: < /p>
@Repository
public interface GetDatesByIdRepository extends JpaRepository {
@Query(
value = """
select
sch.id,
sch.status,
sch.patientid,
sch.appointmentdate,
sch.starttime,
sch.duration,
sch.departmentid,
sch.templatedId,
block.id as replacementblockId
from
Dates sch
left join Dates block on sch.id = block.templateappointmentid and sch.id != block.id
where
sch.id = :dateId
""",
nativeQuery = true)
GetDatesJpaEntity findDatesByIdWithReplacement(Long dateId);
}
< /code>
и объект: < /p>
@AllArgsConstructor
@NoArgsConstructor
@Entity
public class GetDatesJpaEntity {
@Id
@Column(name = "ID")
public long id;

@Column(name = "TEMPLATEDID")
public Long templatedId;

@Column(name = "PATIENTLOCATIONID")
public Long patientLocationId;

@Column(name = "PATIENTID")
public Long patientId;

@Column(name = "STATUS")
public String status;

@Column(name = "APPOINTMENTDATE")
public LocalDateTime appointmentDate;

@Column(name = "STARTTIME")
public LocalDateTime startTime;

@Column(name = "DURATION")
public Long duration;

@Column(name = "DEPARTMENTID")
public Long departmentId;
}
< /code>
Проблема состоит в том, что замена псевдонимы в столбце не существует в таблице и не отображается в сущности. Я изначально пытался добавить это поле в сущность как: < /p>
@Column(name = "REPLACEMENTBLOCKID")
private long replacementBlockId;
< /code>
Но это вызывает ошибки, потому что столбец не существует физически. Я хочу избежать крупного рефакторирования, такого как введение DTO, если это возможно.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ity-when-t

Вернуться в «JAVA»