# 实体配置
本节主要讲解实体相关的配置,包括创建一个实体java类后如何确定是否被扫描生效等,不涉及实体与数据库模型的映射关系的定义。
# 生效范围
# Package 级别
默认扫描的packages路径包括:
- 启动的应用程序中使用
@EntityScan等方式指定的路径,如未特别指定则为应用程序所在包路径; - 启动类所在包路径;
在有效的packages范围内,可以再通过配置指定生效或需要排除的实体类,配置中可用通配符*:
注意!设置生效实体类范围时,注意要保留启用的拓展功能或引入的插件包中所必需的实体类。
application.yml
fly:
data:
entities:
# 生效的实体类
included-classes:
- 'com.example.demo.entity.*'
# 排除的实体类
excluded-classes:
- 'com.example.demo.entity.NewsEntity'
开启解析类fly.data.relational.mapping.forclass.ClassMappingResolver的DEBUG级别日志,可以在控制台查看通过配置排除的实体类:
...ClassMappingResolver : Entity class 'class com.example.demo.entity.NewsEntity' is excluded
# Class 级别
在Spring boot启动类或配置类上添加@ImportEntity注解,额外导入没有被扫描到的实体类:
import fly.core.data.annotation.ImportEntity;
@SpringBootApplication
@ImportEntity({
app.entity.Demo1Entity.class,
app.entity.Demo2Entity.class
})
public class DemoApplication {
}