Spring Data Jpa實(shí)現(xiàn)自定義repository轉(zhuǎn)DTO
近期項目中需要 關(guān)聯(lián) 幾張表再把字段轉(zhuǎn)出來,在這里記錄以下,我感覺網(wǎng)上寫的都不太規(guī)范和清晰。
@Entity
@SqlResultSetMapping(
name="TestMapping",
entities = {
@EntityResult(
entityClass = com.xxx.xx.data.model.TestEntity.class,
fields = {
@FieldResult(name="id",column="id"),
@FieldResult(name="localTime",column="time"),
@FieldResult(name="maximumAppointment",column="maxAppointment"),
}
)
}
)
@NamedNativeQuery(name="getTestQuery",
query="select tableC.id as id,tableB.time,tableC.maximumAppointment as maxAppointment from tableB " +
" inner join tableA on tableA.id = tableB.tableAId " +
" inner join tableC on tableB.id = tableC.tableBId " +
" inner join custom on custom.id = tableA.customId " +
"where " +
" tableA.locationId = :locationId" +
" and custom.id = :customId" +
" and tableB.deleted = false ", resultSetMapping="TestMapping")
@Data
public class TestEntity {
@Id
private String id;
private LocalTime localTime;
private Integer maximumAppointment;
}
需要聲明接口:
@Repository
public interface TestEntityRepository extends JpaRepository<TestEntity,String> {
@Query(name="getTestQuery")
List<TestEntity> getTestQuery(String locationId, String customId);
}
若不想聲明接口,那可以用EntityManager 來實(shí)現(xiàn)。
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java中調(diào)用第三方接口的幾種方法詳細(xì)指南
在Java開發(fā)中調(diào)用第三方接口是常見需求,本文介紹如何使用Java進(jìn)行接口調(diào)用,重點(diǎn)講解HttpURLConnection類、OkHttp庫和ApacheHttpClient的使用,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
詳解maven的setting配置文件中mirror和repository的區(qū)別
這篇文章主要介紹了詳解maven的setting配置文件中mirror和repository的區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
關(guān)于Idea使用git時commit特別慢的問題及解決方法
這篇文章主要介紹了關(guān)于Idea使用git時commit特別慢的問題及解決方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Java通過HttpClient進(jìn)行HTTP請求的代碼詳解
Apache?HttpClient是一個功能強(qiáng)大且廣泛使用的Java庫,它提供了方便的方法來執(zhí)行HTTP請求并處理響應(yīng)。本文將介紹如何使用HttpClient庫進(jìn)行HTTP請求,包括GET請求、POST請求、添加參數(shù)和請求體、設(shè)置請求頭等操作,需要的朋友可以參考下2023-05-05
java反射機(jī)制給實(shí)體類相同字段自動賦值實(shí)例
這篇文章主要介紹了java反射機(jī)制給實(shí)體類相同字段自動賦值實(shí)例,具有2020-08-08

