0

我正在为一个 Swing 项目工作,使用的技术是带有 Toplink 必需品的 netbeans,mysql。

我面临的问题是在调用外键属性的 getter 集合时插入发生后实体对象没有得到更新。

例如:我有 2 个表 Table1,Table2。我有 sno 列,id 列作为 Table1 中的主键,并且是 Table2 中的外键。通过 find 方法,我只是获得了特定的 sno 对象(存在于表 1 中)设置一些持久化到 table2 的值并提交了事务。

当我通过 find 方法选择相同的 sno 对象并通过 bean 的 getTable2Collection() 从 Table2 获取它的集合时(因为它已经由 toplink 必需在 bean 中创建)我无法获得最新添加的记录,除了所有其他显示它的记录。在我关闭应用程序并打开它之后,新记录会在通过上述过程调用相同的 sno 时得到反映。

我开始知道这是一种懒惰的获取,应该有一些方法可以改变获取策略,以使实体对象随着更改而更新。所以请在这方面帮助我。

问候,

昌都

4

1 回答 1

0

如果您只想尝试快速获取,您可以在注释中指定 fetch 方法(如果您正在使用注释),它看起来像......

@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.EAGER)
于 2010-04-21T12:54:54.260 回答