# 实体配置

本节主要讲解实体相关的配置,包括创建一个实体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.ClassMappingResolverDEBUG级别日志,可以在控制台查看通过配置排除的实体类:

...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 {
}
顶部