我有一个将对象保存到多对多关系的问题。以下是两个班级。
实体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;
}
我已引用网址“http://www.datanucleus.org/products/datanucleus/jdo/orm/many_to_many.html”来查找此映射信息。
现在我想向应用程序添加新用户。以下是我尝试过的两种情况。请注意,所有事务都发生在同一个Persistence Manager对象上。
案例1
结果=&gt;成功
案例2
结果=&gt; 不工作(不会丢失任何错误。只是数据没有插入)。我想知道为什么我不能只为应用程序添加一个新的User对象并保存它。
如果有人知道,请告诉我这个问题..谢谢..
答案 0 :(得分:0)
我找到了这个问题。实际上源代码在一个jar文件中,我正在使用JUnit来测试每个方法。正如我在问题中提到的,没有显示错误,测试用例已经过去了。
但正如“DataNucleus”建议的那样,我启用了log4j,然后我就能找到问题所在。这是因为我没有在User类上设置必填字段。
无论如何我想知道为什么测试用例没有显示这个错误。可能是配置问题。