Spring Boot未拾取属性



我有一个Spring Boot应用程序,我正试图从application.properties中传递一个属性,作为Entity类中的参数注释,如下所示:

@Entity
public class Entity{
@Id
@SequenceGenerator(name = "entity_id_seq", sequenceName = "entity_id_seq", initialValue = "${start-seq}")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "dish_id_seq")
private int id;

我的application.properties有:

start-seq=100000

但它并没有编纂出这样一句话:;不兼容的类型:java.lang.String无法转换为int"无法识别表达式。此外,我还试图将这个带有@Value注释的属性传递给这样一个变量:

@Value("${start-seq}")
private int startSeq;

但变量始终为0。在我的配置类之前,我确实有以下注释,但它仍然不起作用:

@Configuration
@EnableConfigurationProperties
@PropertySources({
@PropertySource("classpath:application.properties")
})

我是不是错过了什么?

@SequenceGenerator不是Spring注释。因此,spring在实体创建过程中不会对此进行评估。

您不能在此处使用spring表达式语言(SpEl(。

如果你想配置这些,你必须使用JPA或Hibernate配置。

例如。写入或扩展当前SequenceGenerator。请参阅此处了解详细信息:

https://thorben-janssen.com/custom-sequence-based-idgenerator/

相关内容

  • 没有找到相关文章

最新更新