我正在从旧数据库中检索数据,因此无法完全控制架构。
我经常需要在单独的列中检查静态值以删除错误匹配。
create table mySource (
id int,
...
)
create table aRelation (
srcId int,
myFK int,
relationLimit varchar
)
create table aTarget (
id int,
...
myFK int,
aLimit varchar,
...
)
上面的“relationLimit”和/或“aLimit”必须与静态值匹配。
我只能找到标准注释:
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(
name = "aRelation",
joinColumns = {
@JoinColumn(name = "srcId") },
@inverseJoinColumns = {
@JoinColumn(name = "myFK", referencedColumnName = "myFK")
})
private List<ATarget> targets;
但我找不到任何方法来注释要求
aLimit = "Something"
relationLimit="SomethingElse"
如果在文档中这是显而易见的,请告诉我如何以及在何处阅读它。
答案 0 :(得分:2)
如果您使用Hibernate,您可以在实体上尝试@Filter
注释。
@Filter(name="betweenLength", condition="aLimit = 'Something' and relationLimit='SomethingElse'")
有关此主题的更多信息,请参阅here