は、私は次のコードでObjectDBデータベースにいくつかのUTF-8文字列を保存しようとしている:ObjectDB JPAデータベースにUTF-8文字列を保存するにはどうすればよいですか?
ResourceBundle entries = Utf8ClassLoader.getBundle("localization/language", "fa-IR"); // fa-IR is a UTF-8 and RTL language
Enumeration<String> keys = entries.getKeys();
for (String key = keys.nextElement(); keys.hasMoreElements(); key = keys.nextElement()) {
ResourceEntity entity = new ResourceEntity();
entity.setId(new ResourceEntity.PKC(key, locale));
entity.setValue(entries.getObject(key));
resourceDAO.persistOrUpdate(entity);
}
モデル:
@Entity
public class ResourceEntity {
@EmbeddedId
private PKC id;
private Object value;
// Getters and setters omitted
@Embeddable
public static class PKC {
String key;
String locale;
public PKC() {}
public PKC(String key, String locale) {
this.key = key;
this.locale = locale;
}
// Getters and setters omitted
}
}
局在は/ language_fa_IR.propertiesが存在し、正常に開きます。
DAOのpersistOrUpdateメソッドは、トランザクション内のEntityManager.persist関数にすぎません。
を(キーが存在する場合とEntityManager.mergeはありません)しかし、私はObjectDBViewerを開いたとき、私はこれを参照してください。
がどのように私は文字を変更せずに文字列を保存することができますか?
ありがとうございます。実際にObjectDBに問題はありませんでしたが、ResourceBundleだけがUTF-8以外の文字列を指定していましたが、これを私の答えで修正しました。 –