我正在使用Telosys生成器工具中的spring模板生成我的类。但是,我的项目对不同的环境有不同的数据库模式,但我无法处理。因此,我的实体类需要有各自的模式名称,这意味着我连接每个数据库模式并生成特定于环境的类。
我正在尝试从gradle变量中传递模式名称,并在实体类中使用该名称。
schema = "${property.schema.name}"但是由于这些类是由Telosys生成的,所以所有JPA注释都由模板处理。是否有一种方法可以像上面这样在注释中设置模式名称?或者任何解决不同模式问题的替代方案都会受到赞赏。
发布于 2022-07-06 09:51:09
如果所有实体的数据库模式相同,则只需在文件"telosys-tools.cfg".中定义特定的项目全局变量。
请参阅:https://doc.telosys.org/configuration-and-variables
在您的例子中:ProjectVariable.DBSCHEMA = yourschema
您可以直接在${DBSCHEMA}模板中使用它。
如果您只对某些实体具有特定的模式,则可以在".entity“文件中使用.entity注释(在实体级别)。
请参阅:https://doc.telosys.org/dsl-model/annotations#dbschema-string
模板中的@DbSchema和@DbCatalog这样的注释由$jpa对象自动使用。
https://stackoverflow.com/questions/72874881
复制相似问题