У меня есть POJO с именем company, который сопоставлен с таблицей базы данных с именем company. У меня есть собственный запрос только с двумя полями (у компании по старым причинам есть много нетерпеливых сопоставлений, которые я хотел бы удалить)
система работает с пружинными данными, которые я хотел бы отобразить как собственный запрос и заполнить эти два скаляра только списком компаний. Как мне это сделать с помощью CompanyRepository?
@Entity
@Audited
@Table(name = "company")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@NamedNativeQuery(
name = "getDefaultBuyers",
query =
"SELECT c.id as id ,c.name as name"
+ "FROM complex query with non mapped tables "
resultSetMapping = "getDefaultBuyersMapping")
@SqlResultSetMapping(
name = "getDefaultBuyers",
columns = {@ColumnResult(name = "name"),@ColumnResult(name = "id")})
public class Company {
@Column(name = "id", nullable = false, length = 32)
protected String id;
@Column(name = "name", nullable = false)
protected String name;
//diffrent properties
}
@Repository
public interface CompanyRepository
extends JpaRepository<Company, Long>, JpaSpecificationExecutor<Company>{}
EDIT Не думаю, что это элегантно, но этот работает, может кто-нибудь помочь мне сделать это более элегантно
@Repository
public interface CompanyRepository
extends JpaRepository<Company, Long>, JpaSpecificationExecutor<Company>{
@Query(
value =
"SELECT c.id as id ,c.name as name FROM bidder_config b, native_version n, company c WHERE ...",
nativeQuery = true)
Object[][] getDefaultBuyers(); ```