This content has been marked as final.
Show 3 replies
-
1. Re: Repeated column in mapping for entity
mmohamma Jul 11, 2006 9:19 AM (in response to stedo)I'm hitting the same exact problem. were there any suggestions made? Any help is greatly appreciated :)
-
2. Re: Repeated column in mapping for entity
stedo Jul 12, 2006 2:27 AM (in response to stedo)hi,
This problem was that I had a composite key class with a member 'user' and a setter/getter getUser(). Then in the Entity class I also had a getter/setter getUser(). This leads to duplicate column. Had to remove the getter/setter in the Entity class for it to work. Instead I now use getPrimaryKey().getuser().
Thanks
Stephen -
3. Re: Repeated column in mapping for entity
smix007 Dec 19, 2006 5:45 AM (in response to stedo)Hello Stephen,
I' m hitting the same exact problem;
here my code:
TermProjPK.java@Embeddable public class TermProjPK implements Serializable { private String auiw; @Column(name = "AUIS", nullable = false) private String auis;
TermProj.javapublic class TermProj implements Serializable { @EmbeddedId private TermProjPK termProjPK; //jointure avec la table TermSource @ManyToOne @JoinColumn (name = "AUIW") private TermSource auiw; public TermSource getAuiw() { return auiw; } public void setAuiw(TermSource auiw) { this.auiw = auiw; } //jointure avec la table SnomedInter @ManyToOne @JoinColumn (name = "AUIS") private SnomedInter auis; public SnomedInter getAuis() { return auis; } public void setAuis(SnomedInter auis) { this.auis = auis; } @Column(name = "MODIF") private String modif; @Column(name = "SRC", nullable = false) private String src;
TermSource.javapublic class TermSource implements Serializable { @Id @Column(name = "AUIW", nullable = false) private String auiw; @OneToMany(mappedBy="auiw") private Collection<TermProj> termProjs; public Collection<TermProj> getTermProjs() { return termProjs; } public void setTermProjs(Collection<TermProj> termProjs) { this.termProjs = termProjs; }
SnomedInter.javapublic class SnomedInter implements Serializable { @Id @Column(name = "AUIS", nullable = false) private String auis; @OneToMany(mappedBy="auis") private Collection<TermProj> termProjs; public Collection<TermProj> getTermProjs() { return termProjs; } public void setTermProjs(Collection<TermProj> termProjs) { this.termProjs = termProjs; }
I always have the same error:WARN [ServiceController] Problem starting service persistence.units:ear=Pharmacovigilance.ear,jar=Pharmacovigilance-ejb.jar,unitName=Pharmacovigilance-ejbPU org.hibernate.MappingException: Repeated column in mapping for entity: ejb.entity.TermProj column: AUIS (should be mapped with insert="false" update="false") at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:575)
my servlet of tests is as follows:[...]TermProjFacadeLocal termProjFacadeLocal = (TermProjFacadeLocal) lookupTermProjFacade(); List news = termProjFacadeLocal.findAll(); out.println("<TABLE align=\"center\" frame=\"border\" cellpadding=\"2\">"); out.println("<TR style=\"color:blue\"> <TH align=\"center\" > AUIW </TH> <TH align=\"center\"> AUIS </TH> <TH align=\"center\"> MODIF </TH><TH align=\"center\"> SRC </TH></TR>"); for (Iterator it = news.iterator(); it.hasNext();) { TermProj elem = (TermProj) it.next(); out.println(" <TR> <TD> <b>" + elem.getTermProjPK().getAuiw() + " </b> </TD>"); out.println(" <TD> <b>" + elem.getTermProjPK().getAuis() + " </b> </TD> "); out.println(" <TD> <b>" + elem.getModif() + " </b> </TD> "); out.println(" <TD> <b>" + elem.getSrc() + " </b> </TD> </TR>"); } out.println("</TABLE>"); [...]
were there any suggestions made? Any help is greatly appreciated :)