問題タブ [javers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javers - Javars - 比較する属性を選択
必要な属性のみを選択して 2 つのオブジェクトを比較する方法はありますか? 無視メカニズムを使用できることは理解していますが、オブジェクトが大きい場合は、多くの属性を無視する必要があります。この場合、最適なオプションは必要なもののみを選択することです。
どんな手掛かり?
ありがとう、
javers - org.hibernate.proxy.HibernateProxy. 型アダプターを登録するのを忘れましたか?
Oracle と Hibernate/JPA (非 spring) ベースのアプリを使用して、javers 2.2.2 のセットアップを取得しようとしています。
内部レポと標準 (非トランザクション) ビルダーを使用すると、監査オブジェクトを正常にログに記録して取得できます。ただし、SQL を使用して Transaction Builder に切り替えた後に保存すると、以下のスタック トレースが表示されます。問題があれば、Hibernate Access Hook を実際に実行しています。
どんな助けでも大歓迎です!
java.lang.UnsupportedOperationException: Attempted to serialize java.lang.Class: org.hibernate.proxy.HibernateProxy. Forgot to register a type adapter?
at com.google.gson.internal.bind.TypeAdapters$1.write(TypeAdapters.java:76)
at com.google.gson.internal.bind.TypeAdapters$1.write(TypeAdapters.java:69)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ArrayTypeAdapter.write(ArrayTypeAdapter.java:93)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:113)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:240)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:113)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:240)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:113)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:240)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:113)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:240)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:97)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:113)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:240)
at com.google.gson.internal.bind.ObjectTypeAdapter.write(ObjectTypeAdapter.java:107)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:97)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.toJson(Gson.java:652)
at com.google.gson.Gson.toJsonTree(Gson.java:545)
at com.google.gson.Gson.toJsonTree(Gson.java:524)
at com.google.gson.Gson$2.serialize(Gson.java:137)
at org.javers.core.json.typeadapter.commit.CdoSnapshotStateTypeAdapter.toJson(CdoSnapshotStateTypeAdapter.java:31)
at org.javers.core.json.typeadapter.commit.CdoSnapshotStateTypeAdapter.toJson(CdoSnapshotStateTypeAdapter.java:14)
at org.javers.core.json.JsonConverterBuilder$1.serialize(JsonConverterBuilder.java:124)
at com.google.gson.TreeTypeAdapter.write(TreeTypeAdapter.java:70)
at com.google.gson.TreeTypeAdapter.write(TreeTypeAdapter.java:63)
at com.google.gson.Gson.toJson(Gson.java:652)
at com.google.gson.Gson.toJson(Gson.java:631)
at com.google.gson.Gson.toJson(Gson.java:586)
at com.google.gson.Gson.toJson(Gson.java:566)
at org.javers.core.json.JsonConverter.toJson(JsonConverter.java:55)
at org.javers.repository.sql.repositories.CdoSnapshotRepository.insertSnapshot(CdoSnapshotRepository.java:37)
at org.javers.repository.sql.repositories.CdoSnapshotRepository.save(CdoSnapshotRepository.java:27)
at org.javers.repository.sql.JaversSqlRepository.persist(JaversSqlRepository.java:63)
at org.javers.repository.api.JaversExtendedRepository.persist(JaversExtendedRepository.java:109)
at org.javers.core.JaversCore.commit(JaversCore.java:79)
at org.javers.core.JaversCore.commit(JaversCore.java:64)
at org.javers.spring.jpa.JaversTransactionalDecorator.commit(JaversTransactionalDecorator.java:53)
mongodb - 2 つのデータベースを使用する場合の Javars ENTITY_INSTANCE_WITH_NULL_ID
Postgres (JPA Lazy Load を使用) にデータを保存し、MongoDB に Java を保存すると、この例外「ENTITY_INSTANCE_WITH_NULL_ID」が発生します。
スプリング ブート: 1.4.0.RELEASE
小枝データ JPA: 1.4.0.RELEASE
ハベル: 2.3.0
デバッグしたところ、オブジェクトが遅延オブジェクトの場合、ID が null であることがわかりました: org.javers.core.metamodel.type.EntityType:88 "Object cdoId = getIdProperty().get(instance);"