给定两个实体通过连接表连接的数据库表的表示,是否可以通过注释以某种方式对指定排序顺序的另一个实体进行排序?
大致考虑以下数据库表:
actor ( id, name )
credit ( actorId, movieId, roleName )
movie ( id, title, year )
Run Code Online (Sandbox Code Playgroud)
和hibernate实体一样:
@Entity
class Actor {
@Id
Integer id;
@Column
String name;
@OneToMany
@JoinColumn(name = "actorId")
List<Credit> credits;
}
@Entity
class Credit {
@Column
String roleName;
@ManyToOne
@JoinColumn(name = "movieId")
Movie movie;
}
@Entity
class Movie {
@Id
Integer id;
@Column
Integer year;
@Column
String title;
}
Run Code Online (Sandbox Code Playgroud)
所以我希望能够让默认的排序顺序按照电影年份的降序返回一个Actor的Credits:
actor.getCredits(); // Returns credits in order of Credit.movie.year
Run Code Online (Sandbox Code Playgroud)
通过使用@OrderBy,例如@OrderBy("roleName")进行排序似乎非常简单,只有一层深度的加入......但是如何更深入地进行另一次加入呢?
谢谢!
是否有预定义的C宏来检测OS X的版本?我知道__APPLE__并__MACH__存在,但那些是二元的.是否有特定值__APPLE_CC__表示狮子?
特别是,Lion在Lion中添加了getline()to 的定义,<stdio.h>能够检测代码是否在Lion上进行编译以及是否可以解决编译错误会很好.
具体来说,我指的是在Bash(XCode之外)中构建Unix C代码.