英文:
If Java Annotation doesn't have business logic on it, then how does @Entity in JavaEE could map a class in database?
问题
我在某处看到过,注解只是元数据,不包含任何业务逻辑。
因此,我查看了 @Entity 注解的代码:
包 javax.persistence;
导入 java.lang.annotation.Documented;
导入 java.lang.annotation.ElementType;
导入 java.lang.annotation.Retention;
导入 java.lang.annotation.RetentionPolicy;
导入 java.lang.annotation.Target;
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Entity {
String name() 默认值 """;
}
现在,这段代码如何在没有在其上定义方法的情况下将类映射到数据库中呢?
英文:
I read somewhere that annotations are only metadata and do not contain any business logic.
So I look at the code of @Entity annotation:
package javax.persistence;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface Entity {
String name() default "";
}
Now, how this code could map a class to a database without a method define on it?
答案1
得分: 2
@Entity
本身没有逻辑,只是一个规范。
业务逻辑是由第三方代码实现的。
例如,如果您正在使用Spring Boot,您可以查看类@EntityScan
,以了解它如何处理@Entity
类。
英文:
@Entity
itself has no logic but a specification.
The business logic is implement by third party code.
For example, if you are using Spring Boot, you can follow the class @EntityScan
to see how it handle @Entity
classes.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论