我many-to-many在mysql数据库(Module - <Module_has_Subject> - Subject)中有一个关系.Entites是由Eclipse生成的,我add在两个类中都添加了方法.我使用JBoss AS7/Hibernate.当我persist在EJB中调用该方法时,我得到了
org.hibernate.exception.ConstraintViolationException: Duplicate entry '3' for key 'PRIMARY'
Run Code Online (Sandbox Code Playgroud)
我知道这一定是一个微不足道的错误,但我只是没有看到它.我通过最相关的问题就在这里StackOverflow上和RoseIndia(我加了cascade,targetEntity......),并且仍然没有成功.表的实体是这样的:
Module.java
@Entity
@Table(name="Module")
public class Module implements Serializable {
@Id
@Column(unique=true, nullable=false)
private int idModule;
//bi-directional many-to-many association to Subject
@ManyToMany(mappedBy="modules", fetch=FetchType.EAGER,targetEntity=entity.Subject.class,cascade=CascadeType.ALL)
private List<Subject> subjects;
public void addSubject(Subject subject) {
if(subject.getModules() == null) {
subject.setModules(new ArrayList<Module>());
}
if(getSubjects() == null) {
setSubjects(new ArrayList<Subject>());
}
if (!getSubjects().contains(subject)) {
getSubjects().add(subject);
}
if (!subject.getModules().contains(this)) {
subject.getModules().add(this);
} …Run Code Online (Sandbox Code Playgroud) 我试图在Eclipse(Indigo)中安装JBoss AS Tools并且失败了.我对此描述有误:
收集要安装的项目会话上下文时发生错误:(profile = SDKProfile,phase = org.eclipse.equinox.internal.p2.engine.phases.Collect,operand =,action =).未找到包含以下内容的存储库:osgi.bundle,com.springsource.javax.jms,1.1.0
我搜索了网页,只有对某些人有用的东西是运行eclipse -clean但不适合我.我还将Eclipse更新到最新版本.还有其他想法吗?