Javers 查询语言版本
versions in Javers query language
我有一个关于使用来自 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;
这里是快照中保存内容的示例 table:
对于 x 状态:
{ "A": "test", "y": [],"xId": 1}
对于 z 状态:
{ "y": [],"zId":1}
y 状态:
{ "yId": 1, ,"xId": 1, "zId":1}
我的问题是如何通过 test 从三个状态搜索中获取更改?.
一般来说,在 JQL 中没有实体的 SQL 类连接。
因此,如果您有 2 个实体(X 和 Y),以 OneToMany 关系加入,则不能这样查询:'give me all snapshots of Y which are joined to my Entity X with id 1'.
但是你可以通过稍微改变你的模型来实现这一点。如果 Y 是实体 X 拥有的 ValueObject(没有标识的对象),那么您可以在 JQL 中查询:'give me all snapshots (or changes) done on ValueObject Y owned by my Entity X with id 1'.
我有一个关于使用来自 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;
这里是快照中保存内容的示例 table:
对于 x 状态:
{ "A": "test", "y": [],"xId": 1}
对于 z 状态:
{ "y": [],"zId":1}
y 状态:
{ "yId": 1, ,"xId": 1, "zId":1}
我的问题是如何通过 test 从三个状态搜索中获取更改?.
一般来说,在 JQL 中没有实体的 SQL 类连接。
因此,如果您有 2 个实体(X 和 Y),以 OneToMany 关系加入,则不能这样查询:'give me all snapshots of Y which are joined to my Entity X with id 1'.
但是你可以通过稍微改变你的模型来实现这一点。如果 Y 是实体 X 拥有的 ValueObject(没有标识的对象),那么您可以在 JQL 中查询:'give me all snapshots (or changes) done on ValueObject Y owned by my Entity X with id 1'.