欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關于@OnetoMany關系映射的排序問題,使用注解@OrderBy

 更新時間:2021年12月06日 10:54:40   作者:superyxw  
這篇文章主要介紹了關于@OnetoMany關系映射的排序問題,使用注解@OrderBy,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Spring里面一對多的關系可以用@OnetoMany注解來實現(xiàn)

然后在實際使用中,如果要對從屬對象按條件排序該怎么處理呢?可以用注解來實現(xiàn)的也就是@OrderBy

來看看我的這個例子

一個Product對象,里面有個OnetoMany關系對應到多張圖片,然后我這個圖片在后臺要支持排序,所以我就在Picture這個類里面加了一個ordernum的int型字段來進行排序標記

@OneToMany(cascade = CascadeType.ALL,mappedBy = "product",fetch = FetchType.EAGER)
private List<Picture> pictures;

然后我在取值的時候怎樣才能讓圖片按照我的要求來進行排序呢

就是使用@OrderBy

看一下具體是怎么使用

@Target({METHOD, FIELD})
@Retention(RUNTIME)
public @interface OrderBy { 
   /**
    * An <code>orderby_list</code>.  Specified as follows:
    *
    * <pre>
    *    orderby_list::= orderby_item [,orderby_item]*
    *    orderby_item::= [property_or_field_name] [ASC | DESC]
    * </pre>
    *
    * <p> If <code>ASC</code> or <code>DESC</code> is not specified,
    * <code>ASC</code> (ascending order) is assumed.
    *
    * <p> If the ordering element is not specified, ordering by
    * the primary key of the associated entity is assumed.
    */
    String value() default "";
}

通過這個注解的定義可以看出它的參數(shù)就是一個String

比如我項目里按照圖片的ordernum升序排列就是@OrderBy("ordernum ASC");ordernum是字段名 ASC對應排序方式,中間用空格隔開

當然也支持多個條件進行排序,比如我要通過ordernum和id進行,那就是@OrderBy("ordernum ASC,id ASC")

最后我的代碼

@OneToMany(cascade = CascadeType.ALL,mappedBy = "product",fetch = FetchType.EAGER)
@OrderBy("ordernum ASC")
private List<Picture> pictures;

Entity One-to-Many 排序設置

/**
 * 評論實體類,對應 TCOMMENT 表。
 * @author William
 */
@Entity
@Table(name = "TCOMMENT")
public class Comment {
 
 /**
  * 標識ID字段為主鍵,主鍵生成策略為:自動。
  */
 @Id @GeneratedValue
 private Long id;
 private String nickname;
 private String content;
 private Integer note;
 /**
  * 發(fā)表日期,對應 posted_date 字段,字段類型為TIMESTAMP。
  */
 @Column(name = "posted_date")
 @Temporal(TemporalType.TIMESTAMP)
 private Date postedDate;
 
 // Constructors, setters, getters
}
/**
 * 新聞實體類,對應 News表。
 * @author William
 */
@Entity
@NamedQuery(name = "findAllNews", query = "SELECT n FROM News n")
public class News {
 
 /**
  * 標識ID字段為主鍵,主鍵生成策略為:自動。
  */
 @Id @GeneratedValue
 private Long id;
 /**
  * content新聞內(nèi)容,該字段必填。
  */
 @Column(nullable = false)
 private String content;
 /**
  * comments評論,與之進行一對多關聯(lián)。<br/>
  * FetchType.EAGER 獲取新聞時立即相關評論。<br/>
  * CascadeType.ALL 支持所有級聯(lián)操作。<br/>
  * OrderBy 獲取評論列表時,按照postedDate(發(fā)表日期)降序排列。
  */
 @OneToMany(fetch = FetchType.EAGER, cascade = {CascadeType.ALL})
 @JoinTable(name = "NEWS_COMMENT", joinColumns = @JoinColumn(name = "NEWS_ID"),
  inverseJoinColumns = @JoinColumn(name = "COMMENT_ID"))
 @OrderBy("postedDate DESC")
 private List<Comment> comments; 
 // Constructors, setters, getters
}
CREATE TABLE TCOMMENT (
 ID BIGINT,
 NICKNAME VARCHAR(50),
 CONTENT VARCHAR(500),
 NOTE INT,
 POSTED_DATE TIMESTAMP,
 PRIMARY KEY (ID)
);
 
CREATE TABLE NEWS (
 ID BIGINT,
 CONTENT VARCHAR(500),
 PRIMARY KEY (ID)
);
 
CREATE TABLE NEWS_COMMENT (
 NEWS_ID BIGINT,
 COMMENT_ID BIGINT,
 PRIMARY KEY (NEWS_ID, COMMENT_ID),
 FOREIGN KEY (NEWS_ID) REFERENCES NEWS(ID),
 FOREIGN KEY (COMMENT_ID) REFERENCES TCOMMENT(ID)
);

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • java實現(xiàn)人工智能化屏幕監(jiān)控窗口

    java實現(xiàn)人工智能化屏幕監(jiān)控窗口

    這篇文章主要為大家詳細介紹了java實現(xiàn)人工智能化屏幕監(jiān)控窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • java自定義Scanner類似功能類的實例講解

    java自定義Scanner類似功能類的實例講解

    這篇文章主要介紹了java自定義Scanner類似功能類的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • java static塊和構造函數(shù)的實例詳解

    java static塊和構造函數(shù)的實例詳解

    這篇文章主要介紹了java static塊和構造函數(shù)的實例詳解的相關資料,希望通過本文能幫助到大家,讓大家理解掌握Java static關鍵字的函數(shù)方法,需要的朋友可以參考下
    2017-09-09
  • 一文搞懂Spring中Bean的生命周期

    一文搞懂Spring中Bean的生命周期

    這篇文章主要為大家介紹了Spring中Bean生命周期的使用及控制,文中的示例代碼講解詳細,對我們學習或工作有一定的參考價值,感興趣的可以學習一下
    2022-06-06
  • springboot中的css樣式顯示不出了的幾種情況

    springboot中的css樣式顯示不出了的幾種情況

    這篇文章主要介紹了springboot中的css樣式顯示不出了的幾種情況,具有很好的的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Java通過socket客戶端保持連接服務端實現(xiàn)代碼

    Java通過socket客戶端保持連接服務端實現(xiàn)代碼

    這篇文章主要介紹了Java通過socket客戶端保持連接服務端實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Java?中泛型?T?和???的區(qū)別詳解

    Java?中泛型?T?和???的區(qū)別詳解

    本文主要介紹了Java?中泛型?T?和???的區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • java interface的兩個經(jīng)典用法

    java interface的兩個經(jīng)典用法

    這篇文章主要為大家詳細介紹了java interface的兩個經(jīng)典用法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • JavaWeb項目實戰(zhàn)之表白墻和在線相冊

    JavaWeb項目實戰(zhàn)之表白墻和在線相冊

    這篇文章主要給大家介紹了關于JavaWeb項目實戰(zhàn)之表白墻和在線相冊的相關資料,JavaWeb表白墻是一款基于JavaWeb技術開發(fā)的表白墻應用,用戶可以在上面發(fā)布表白信息,也可以查看其他用戶的表白信息,需要的朋友可以參考下
    2023-03-03
  • SpringCloud feign微服務調(diào)用之間的異常處理方式

    SpringCloud feign微服務調(diào)用之間的異常處理方式

    這篇文章主要介紹了SpringCloud feign微服務調(diào)用之間的異常處理方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評論