Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 注释在编译时存在,但在运行时不存在_Java_Jpa_Annotations - Fatal编程技术网

Java 注释在编译时存在,但在运行时不存在

Java 注释在编译时存在,但在运行时不存在,java,jpa,annotations,Java,Jpa,Annotations,可以使用包含运行时不存在的注释的Java类文件 示例:我想用JPA@embeddeble注释编写一个类,该注释将出现在编译时maven scope:provided中。但是,如果在JPA应用程序外部使用该类,则在运行时可能会缺少注释定义。您必须: 在运行时交换已编译的类以包含不带注释的类。 重写@Embeddeble的类定义并删除@RetentionRUNTIME 只需防止您的JPA提供商扫描类本身。 OSGi应用程序,例如Eclipse,将忽略不可访问的注释,也就是说,如果您有一个没有加载JP

可以使用包含运行时不存在的注释的Java类文件


示例:我想用JPA@embeddeble注释编写一个类,该注释将出现在编译时maven scope:provided中。但是,如果在JPA应用程序外部使用该类,则在运行时可能会缺少注释定义。

您必须:

在运行时交换已编译的类以包含不带注释的类。 重写@Embeddeble的类定义并删除@RetentionRUNTIME 只需防止您的JPA提供商扫描类本身。
OSGi应用程序,例如Eclipse,将忽略不可访问的注释,也就是说,如果您有一个没有加载JPAAPI的JPA注释,您将不会得到ClassNotFoundExceptions

对于这个特殊的问题,我只需要在XML资源中定义ORM映射,而不是在注释中定义。这些映射可以放在不同的工件JAR中,该工件JAR将被添加到类路径中,这取决于您是否使用JPA。

如果我在JPA应用程序之外使用该类,3。总是会遇到的,对吗?