【发布时间】:2011-04-22 17:09:29
【问题描述】:
我必须用 EclipseLink 实现父子树。
下面的代码编译好了,合理的 DDL 代码是自动生成的,但是 children 字段总是解析为一个空集,并且跟踪显示 没有执行过查询填写此字段。
@Entity
public class TreeNode {
@Id @GeneratedValue
private int id;
private TreeNode parent;
@OneToMany(mappedBy="parent")
private Set<TreeNode> children;
}
【问题讨论】:
-
能把填孩子的代码放上来吗?
-
public void addNode(TreeNode child) { child.parent = this; getChildren().add(child); emf.persist(儿童); }
-
填充数据库的代码运行良好:我可以通过普通 SQL 读取有问题的对象。奇怪的是程序没有发出任何查询:-(
-
这些查询是在内部完成的。如果您使用的是 mysql,您可以使用 MyAdministrator 在查询日志中看到这些(启用跟踪它们的选项后)。
-
不,我在 mysqld 上切换了 MySQL 日志记录,仍然没有查询 :-(
标签: jpa-2.0 eclipselink