我对将对象保存到多对多关系有疑问。以下是两个类。
实体 1 => 应用程序
实体 2 => 用户
应用程序可以有很多用户,用户可以有很多应用程序。
由于实际类有很多字段,我只会放置映射的必需部分。
@PersistenceCapable(detachable = "true")
public class Application implements Serializable {
-----
@Persistent(table="APPLICATIONUSER")
@Join(column="APPID")
@Element(column="USERID")
private Set<User> users;
}
@PersistenceCapable(detachable = "true")
public class User implements Serializable {
----
@Persistent(mappedBy="users")
private Set<Application> applications;
}
我参考了 URL“ http://www.datanucleus.org/products/datanucleus/jdo/orm/many_to_many.html ”来查找这个映射信息。
现在我想向应用程序添加新用户。以下是我尝试过的两种情况。请注意,所有事务都发生在同一个 Persistence Manager 对象上。
情况1
- 检索现有用户。
- 将该用户添加到应用程序
结果 => 成功
案例2
- 创建一个新的用户对象
- 设置用户标识
- 将该用户添加到应用程序
结果 =>不工作(它没有抛出任何错误。只是没有插入数据)。我想知道为什么我不能只向应用程序添加一个新的用户对象并保存它。
如果有人知道,请告诉我这个问题..谢谢..