Ola pessoALL,
estou utilizando o XDoclet para fazer os meus mapeamentos O/R utilizando Hibernate, ele gera tranquilamente, mas quando eu caio no caso de ter um objeto, que atua como a chave primária de outro objeto, como no exemplo abaixo:
public class CotaCaracteristicaComponentePK extends Identity {
private Long componenteId;
private Long caracteristicaComponenteId;
/**
* @hibernate.property column="COMPONENTE_ID"
*/
public Long getComponenteId() {
return componenteId;
}
public void setComponenteId(Long componenteId) {
this.componenteId = componenteId;
}
/**
* @hibernate.property column="CARACT_COMPONENTE_ID"
*/
public Long getCaracteristicaComponenteId() {
return caracteristicaComponenteId;
}
public void setCaracteristicaComponenteId(Long caracteristicaComponenteId) {
this.caracteristicaComponenteId = caracteristicaComponenteId;
}
}
A classe acima representa a chave primária do objeto “CotaCaracteristicaComponente”, abaixo:
/**
* @hibernate.class table="TB_GLB_ISP_PROD_COMPCARAC_XREF"
*/
public class CotaCaracteristicaComponente extends BusinessObject {
private CotaCaracteristicaComponentePK id;
private String cota;
/**
* @hibernate.id
*/
public CotaCaracteristicaComponentePK getId() {
return id;
}
public void setId(CotaCaracteristicaComponentePK id) {
this.id = id;
}
/**
* @hibernate.property column="VALOR_TXT"
*/
public String getCota() {
return cota;
}
public void setCota(String cota) {
this.cota = cota;
}
}
Quando o XDoclet vai gerar este mapeamento, ele da o seguinte erro:
com.globo.kernel.model.bo.caracteristica.CotaCaracteristicaComponente
Invoking method failed: xdoclet.modules.hibernate.HibernateTagsHandler.ifHasCompositeId, line=107 of template file: jar:file:glb17corp ecnologiaisp
epositoryxdocletjarsxdoclet-hibernate-module-1.2.jar!/xdoclet/modules/hibernate/resources/hibernate.xdt
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:635)
at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:561)
at xdoclet.template.TemplateEngine.invokeBlockMethod(TemplateEngine.java:959)
at xdoclet.template.TemplateEngine.handleBlockTag(TemplateEngine.java:926)
at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:466)
at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:347)
at xdoclet.template.TemplateEngine.start(TemplateEngine.java:414)
at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:560)
at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:767)
at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:667)
at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:594)
at xdoclet.XmlSubTask.startProcess(XmlSubTask.java:198)
at xdoclet.modules.hibernate.HibernateSubTask.execute(HibernateSubTask.java:123)
at xdoclet.XDocletMain.start(XDocletMain.java:48)
at xdoclet.DocletTask.start(DocletTask.java:464)
at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:110)
at org.apache.tools.ant.Task.perform(Task.java:341)
at
org.apache.commons.jelly.tags.ant.AntTag.doTag(AntTag.java:232)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(MavenGoalTag.java:79)
at org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction(MavenGoalTag.java:110)
at com.werken.werkz.Goal.fire(Goal.java:639)
at com.werken.werkz.Goal.attain(Goal.java:575)
at com.werken.werkz.Goal.attainPrecursors(Goal.java:488)
at com.werken.werkz.Goal.attain(Goal.java:573)
at com.werken.werkz.WerkzProject.attainGoal(WerkzProject.java:193)
at org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(MavenAttainGoalTag.java:127)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:279)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:135)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:233)
at com.werken.werkz.jelly.PreGoalTag$1.firePreGoal(PreGoalTag.java:87)
at com.werken.werkz.Goal.firePreGoalCallbacks(Goal.java:691)
at com.werken.werkz.Goal.fire(Goal.java:616)
at com.werken.werkz.Goal.attain(Goal.java:575)
at com.werken.werkz.WerkzProject.attainGoal(WerkzProject.java:193)
at org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:634)
at org.apache.maven.MavenSession.attainGoals(MavenSession.java:266)
at org.apache.maven.cli.App.doMain(App.java:486)
at org.apache.maven.cli.App.main(App.java:1215)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.werken.forehead.Forehead.run(Forehead.java:551)
at com.werken.forehead.Forehead.main(Forehead.java:581)
Caused by: java.lang.NullPointerException
at xdoclet.modules.hibernate.HibernateTagsHandler.hasCompositeId_Impl(HibernateTagsHandler.java:529)
at xdoclet.modules.hibernate.HibernateTagsHandler.ifHasCompositeId(HibernateTagsHandler.java:140)
... 50 more
Alguém já passou por esse erro e pode me ajudar? Estou utilizando o maven.
Obrigado.