モデル用の 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.
....
この場合、どのようにプロパティ値を読み取ることができますか?
ありがとうございました。