我有一个关于从javers使用JQL的问题 如果我有三个模型x,y和z有关系:
型号x:
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "x_ID")
private Long xId;
@Column(name = "A")
private string a;
@JsonIgnore
@OneToMany(mappedBy = "x")
private List<y> yList;
型号z:
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "z_ID")
private Long zId;
@JsonIgnore
@OneToMany(mappedBy = "z")
private List<y> yList;
模型y:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "y_ID")
private Long yId;
@ManyToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn(name = "x_ID")
private x x1;
@Column(name = "x_ID")
private Long xId;
@ManyToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn(name = "z_ID")
private z z1;
@Column(name = "z_ID")
private Long zId;
以下是快照表中保存的内容示例:
表示x状态:
{ "A": "test", "y": [],"xId": 1}
表示z州:
{ "y": [],"zId":1}
表示y州:
{ "yId": 1, ,"xId": 1, "zId":1}
我的问题是如何通过 test 从三个州搜索中获得更改?
答案 0 :(得分:0)
通常,在JQL中,实体没有类似SQL的连接。
因此,如果你有2个实体(X和Y),加上OneToMany关系,你就不能这样查询:&#39;给我Y的所有快照,这些快照加入我的实体X,ID为1&#39;。
但是,当您略微更改模型时,您可以实现此目的。如果 Y将是实体X拥有的ValueObject (没有标识的对象),那么您可以在JQL中查询:&#39;给我在我的实体X拥有的ValueObject Y上完成的所有快照(或更改)身份证1&#39;。