1

モデル用の CustomSequenceGenerator を作成しました。すべて正常に動作しています。

現在、CustomSequenceGenerator 内の application.properties から値を読み取ろうとしていますが、失敗しました。

私はstackoverflowによって提案された多くの方法を試しましたが、まだうまくいきません.

1. Using @Value
2. Using Spring Environment env > env.getProperty()
3. Using @ConfigurationProperties
4. Using @PropertySource

これが私のコードです:

モデル

  @Id
  @GenericGenerator(name = "user_id_gen", strategy="com.my.model.common.CustomSequenceGenerator ",
          parameters = {
                  @org.hibernate.annotations.Parameter(name = "sequence_name", value = "USER_SEQ")}
  )
  @GeneratedValue(generator = "user_id_gen")
  @Column(name = "UserId", unique = true, nullable = false, length = 6)
  private String userId;

CustomSequenceGenerator

public class CustomSequenceGenerator implements IdentifierGenerator, Configurable {

    @Value("${seq.prefix}")
    private String sequencePrefix;

    .......
}

CustomSequenceGenerator にブレーク ポイントを設定すると、サーバーの起動中にブレーク ポイントにジャンプすることに気付きました。そのため、起動/初期化中に spring が application.properties を読み取ることができないと思います。

アプリケーションのプロパティ

にあり、Resources/conf/application.properties使用して場所を指定しましたが-Dspring.config.location、他のコントローラーはプロパティファイルにアクセスするのに問題はありません.CustomSequenceGeneratorだけに問題があります.

....
spring.jpa.show-sql=true
seq.prefix = MOCKDB.MOCK_SCHEMA.
....

この場合、どのようにプロパティ値を読み取ることができますか?

ありがとうございました。

4

0 に答える 0