1
我正在嘗試爲用戶定義輸入構建一個localization
。例如:用戶可以用多種語言定義足球類別。用戶定義輸入的國際化
模型實體可以有一個申請是這樣的:
@ManyToMany
@MapKeyColumn(name = "locale", insertable = false, updatable = false)
public Map<String, L18n> titles;
我想存儲本地化的字符串是這樣的:
@Entity
public class L18n {
@Id
@Constraints.Required
@Formats.NonEmpty
public Integer id;
public String key;
public String locale;
@Column(columnDefinition = "TEXT")
public String text;
}
我們使用YAML存儲TESTDATA :
category:
- !!models.Category
...
titles:
- !!models.L18n
key: soccer
l18n:
- !!models.L18n
key: soccer
locale: de-CH
text: fdfdfsee
- !!models.L18n
key: soccer
locale: fr-CH
text: dlfkjsdlfj
有了這個解決方案我getti ng這個錯誤:
[error] Caused by: org.yaml.snakeyaml.error.YAMLException: No suitable constructor with 1 arguments found for interface java.util.Map
[error] at org.yaml.snakeyaml.constructor.Constructor$ConstructSequence.construct(Constructor.java:574)
[error] at org.yaml.snakeyaml.constructor.BaseConstructor.constructObject(BaseConstructor.java:182)
[error] at org.yaml.snakeyaml.constructor.Constructor$ConstructMapping.constructJavaBean2ndStep(Constructor.java:296)
[error] ... 65 more
嘿,謝謝你的回答!我實施了某種解決方法,但當我有時間時我會檢查出來。 – myborobudur
沒問題。我絕不是一個yaml專家:我花了更多的時間詛咒,恕我直言,無益的錯誤消息和語法,而不是有效地寫或調試,但我幾周前做了類似的事情。 – 2manyprojects