我一直在寻找一种处理双向关联的通用方法,以及一种在手动编写的 Java 代码中处理反向更新的方法。
对于那些不知道我在说什么的人,这里有一个例子。下面是我目前的(不满意的)解决方案的结果。
public class A {
public B getB();
public void setB(B b);
}
public class B {
public List<A> getAs();
}
现在,当更新关联的任何一端时,为了保持一致性,另一端也必须更新。要么每次手动
a.setB(b);
b.getA().add(a);
或者通过将匹配代码放在 setter/getter 中并使用自定义 List 实现。
我发现了一个过时的、无人维护的项目,其依赖项不再可用 ( https://e-nspire-gemini.dev.java.net/ )。它通过使用用于自动注入(inject)必要代码的注释来处理该问题。
有没有人知道另一个以通用的、不引人注目的方式处理这个问题的框架 ala gemini?
再见, 埃尔玛
最佳答案
google collections(来自 google 的内部代码)-- http://code.google.com/p/google-collections/ is Java Generics compatible(不仅兼容,还很好地使用了泛型)
其中一些类有望进入 JDK 7。
关于java - 用于管理双向关联和反向更新的通用 Java 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/169420/