728x90
@OrderBy
@OrderColumn์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์์ฉ ์ปฌ๋ผ์ ๋งคํํด์ ๊ด๋ฆฌํ๋ค๋ฉด, @OrderBy๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ORDER BY ์ ์ ์ฌ์ฉํด์ ์ปฌ๋ ์ ์ ์ ๋ ฌํ๋ค.
๋ฐ๋ผ์ ์์์ฉ ์ปฌ๋ผ์ ๋งคํํ ํ์๋ ์๊ณ , ๋ํ @OrderBy๋ ๋ชจ๋ ์ปฌ๋ ์ ์ ์ฌ์ฉํ ์ ์๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ์ ์์๋ณด์.
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity
public class Member {
@Id @GeneratedValue
@Column(name = "MEMBER_ID")
private Long id;
@OneToMany(mappedBy = "member")
@OrderBy("id asc, completedDate desc")
private List<Order> orders = new ArrayList<>();
}
๋ค์๊ณผ ๊ฐ์ด ์ํฐํฐ์ ํ๋๋ฅผ ๋์์ผ๋ก ์ค๋ฆ์ฐจ์๊ณผ ๋ด๋ฆผ์ฐจ์์ ์ง์ ํ์ฌ ์กฐํํ ์ ์๋ค.
[์ฐธ๊ณ ]
ํ์ด๋ฒ๋ค์ดํธ๋ Set์ @OrderBy๋ฅผ ์ ์ฉํด์ ๊ฒฐ๊ณผ๋ฅผ ์กฐํํ๋ฉด ์์๋ฅผ ์ ์งํ๊ธฐ ์ํด HashSet ๋์ LinkedHashSet์ ๋ด๋ถ์์ ์ฌ์ฉํ๋ค.
๐ Reference
[์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ]
728x90
'๐๏ธ Spring > JPA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JPA] @Converter (0) | 2021.12.21 |
---|---|
[JPA] JPA๊ฐ ์ง์ํ๋ ์ปฌ๋ ์ (0) | 2021.12.21 |
[JPA] OSIV ๋? (6) | 2021.12.20 |
[JPA] JPA์ ์ฑ๋ฅ ์ต์ ํ (0) | 2021.12.19 |
[JPA] ๋ณํฉ(merge)์ ๋ํด (0) | 2021.12.18 |