@JoinFormula和@OneToMany定义 – 糟糕的文档

我有两个关于@JoinFormula和@OneToMany注释的问题:

  1. 如何使用@JoinFormula@OneToMany注释限制结果数量?

  2. 如何在表达式中定义id author = id是指Author.id

     Author { @Id private Long id; @OneToMany @JoinFormula(value = "SELECT a FROM Article a WHERE author = id AND schedule < CURRENT_TIMESTAMP()") // limit = 15 private List
    pastArticles; }

像这样,即使我删除了schedule <子句的一部分,我仍然保持过去的文章为空。

谢谢!

答案1:

 @Size(max=10) private List commentList; 

答案2 :(就是这样的例子)

 public class A{ @Id @GeneratedValue private Integer id; private String uuid; ... } 

其他课程

 public class B{ @Id @GeneratedValue private Integer id; private String uuidOfA; @ManyToOne @JoinColumnsOrFormulas({ @JoinColumnOrFormula(formula=@JoinFormula(value="(SELECT a.id FROM A a WHERE a.uuid = uuid)", referencedColumnName="id")), @JoinColumnOrFormula(column = @JoinColumn("uuidOfA", referencedColumnName="uuid")) }) private A a; } 

你最好使用@Where注释来限制结果