我有一个Java 8 Spring Boot Rest Service(CrudRepository)项目,到目前为止,只有ORACLE数据源作为源。因此,当我定义实体时,我只根据需要添加了@Column(name =“xxxx”)。我基本上遵循了camelCase约定,其中Oracle Field Name中有_。
我添加了一个新的数据源MySql,现在该项目有2个数据源。我为每个DS添加了适当的配置文件。除了添加第二个DS后,一切正常,我发现我现在需要在每个实体字段上放置@Column(name =“xxxx”)。
如果有人能指出我为什么需要解释,我将不胜感激。将@Column(name =“xxxx”)放在每个地方后,一切运行良好,但为什么多个DS需要这个?
通常当我使用两个或更多ds时,我将不同包中的实体分开,如下所示:
DS1:com.example.entity DS2:com.example.mysql.entity
与其他软件包存储库/服务/控制器(com.example.mysql.repository ...)相同