3

今日、次の問題が発生しました。Joda DateTime フィールドをドメイン クラスの 1 つに追加すると、このクラスのオブジェクトを MongoDB に保存できなくなります。しばらくすると StackOverflowError がスローされますが、これは何らかのループがあるようです。フィールドを削除するとすぐに、すべてが正常に機能します。

Java mongo ドライバー 2.9.3 および 2.10.0 を試しました。データ バインディングは、Spring-Data-Mongo 1.1.1.RELEASE を介して行われます。Mongo のバージョンは 2.2.1 です。

オブジェクトを永続化するには、MongoTemplate#save を使用します。

User user = new User("user");
mongoTemplate.save(user, "users");

User クラスは次のようになります (簡単にするために省略しています)。

public final class User {

  private final String suid;
  private DateTime datetime = DateTime.now();

  public User(String suid) {
    this.suid = suid;
  }

  public String getSuid() {
    return suid;
  }
}

私はいくつかのWeb検索を試みましたが、この問題を抱えている人やjoda timeを処理する方法のヒントを見つけることができませんでした.

これに関するヒントは大歓迎です。

ありがとう、クリス

4

2 に答える 2

4

StackOverflowError は、コードからではない場合に報告する必要があるバグのように聞こえますカスタム コンバーターを使用してこの問題を回避しようとしましたか?

于 2012-11-30T16:13:05.203 に答える