1
Wie verwenden Sie die JPA @Query
Notation? Ich möchte die Abfrage auszuführen:So definieren Sie benutzerdefinierte Abfrage mit JPA @Query Annotation
SELECT region, winner_count
FROM awards_regions
WHERE award_id = ?
ORDER BY region
Ich habe das Repository:
public interface AwardsRegionsRepository extends JpaRepository<AwardRegion,AwardRegionPk>{
List<AwardRegion> findAllByOrderByAwardRegionPk_RegionAscSortKeyAsc();
List<AwardRegion> findByAwardRegionPk_RegionOrderBySortKeyAsc(String region);
@Query("select a.region, a.winner_count from awards_regions a "
+ "where a.award_id = :awardId order by a.region")
List<AwardRegion> findByAwardRegionPk_AwardId(@Param("awardId") Long awardId);
}
Meine Einheit Java Beans sind
@Entity
public class AwardRegion implements Serializable{
@EmbeddedId
private AwardRegionPk awardRegionPk;
@Column(name = "award")
private String award;
@Column(name = "sort_key")
private String sortKey;
@Column(name = "winner_count")
private String winnerCount;
}
... und Embedded-PK
@Embeddable
public class AwardRegionPk implements Serializable{
@Column(name = "region")
private String region;
@Column(name = "award_id")
private Long awardId;
}
Dies wird als eine Liste von Strings herauskommen, nicht eine Liste von Objekten –
Wenn Sie Objekte für Objekte Abfrage wollen und nicht die einzelnen Felder aus! –