JPA元模型生成问题

3

我正在使用Eclipse内置功能来生成我的项目中的JPA元模型。以前它可以完美地生成,但是之后发生了什么事情,现在我的元模型类被生成为不完整/错误的。请注意,实体类本身没有改变一点。
这就是几个月前它是如何生成的:

@Generated(value="Dali", date="2014-03-03T15:27:31.931+0200")
@StaticMetamodel(AsmensZyma.class)
public class AsmensZyma_ {
    public static volatile SingularAttribute<AsmensZyma, Long> id;
    public static volatile SingularAttribute<AsmensZyma, Asmuo> asmuo;
    public static volatile SingularAttribute<AsmensZyma, AsmensZymaSource> registas;
    public static volatile SingularAttribute<AsmensZyma, Date> data;
    public static volatile SingularAttribute<AsmensZyma, String> roik;
    public static volatile SingularAttribute<AsmensZyma, String> pastaba;
}

现在它是如何生成的:

@Generated(value="Dali", date="2014-05-30T11:48:56.816+0300")
@StaticMetamodel(AsmensZyma.class)
public class AsmensZyma_ {
   public static volatile SingularAttribute<AsmensZyma, Long> id;
   public static volatile SingularAttribute<AsmensZyma, Object> asmuo;
}

请注意,有很多缺失的字段,并且字段类型未能正确检测。这种情况发生在我所有的实体类中,在我所有的项目中...... 我尝试过的方法有:
  • 升级STS(当前使用3.5.1)
  • 清理/刷新/更新项目
  • 重新配置STS中的JPA元模型生成
  • 创建全新的干净工作区并只导入一个项目
到目前为止,没有任何帮助...... 任何建议或帮助都将不胜感激!

这似乎很奇怪。元模型是由Dali生成的,它是Eclipse JPA工具插件。您可以打开Dali视图(JPA结构和JPA详细信息),查看您的JPA映射是否正确显示。这可能会给我们一些提示,说明为什么Dali的模型是损坏的。 - Brian Vosburgh
谢谢!我会尝试分析上述观点并发布我的发现。 - Serzhas
嗯,听起来像是一个Dali的bug;但这是我以前没有见过的。你能否尝试将你的其中一个简单项目加载到标准的Eclipse Java EE(即非STS)工作区中?这可能会分离出问题是与Dali本身还是其在STS内部的行为有关。 - Brian Vosburgh
@Serzhas,你找出是什么原因导致的了吗?我也遇到了同样的问题。 - DaveB
很遗憾,问题仍然存在。我通常只是手动添加新字段。您可以使用Maven或类似的方法生成元模型,然后将生成的类复制到源文件夹中。此外,我的同事最近发现了另一种方法,即使用hibernate-jpamodelgen.jar。这个解决方案在他的项目中完美地工作,但在我的项目中,我遇到了可怕的Eclipse级别的AspectJ错误,迄今为止我尝试过的所有方法都无法解决问题。但我认为这对您来说值得一试 :) 您需要在项目配置中指定自定义注释处理器(即前面提到的jar)。 - Serzhas
显示剩余2条评论
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接