[解決済み] org.hibernate.proxy.pojo.javassist.Javassist クラスのシリアライザーは見つかりませんでしたか?
2022-12-17 23:52:51
質問
私は今
SpringMVC
,
Hibernate
&
JSON
と入力しても、このようなエラーが発生します。
HTTP Status 500 - Could not write JSON: No serializer found for class org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationConfig.SerializationFeature.FAIL_ON_EMPTY_BEANS) )
以下の私のエンティティを確認してください。
@Entity
@Table(name="USERS")
public class User {
@Id
@GeneratedValue
@Column(name="USER_ID")
private Integer userId;
@Column(name="USER_FIRST_NAME")
private String firstName;
@Column(name="USER_LAST_NAME")
private String lastName;
@Column(name="USER_MIDDLE_NAME")
private String middleName;
@Column(name="USER_EMAIL_ID")
private String emailId;
@Column(name="USER_PHONE_NO")
private Integer phoneNo;
@Column(name="USER_PASSWORD")
private String password;
@Column(name="USER_CONF_PASSWORD")
private String confPassword;
@Transient
private String token;
@Column(name="USER_CREATED_ON")
private Date createdOn;
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL)
@Fetch(value = FetchMode.SUBSELECT)
@JoinTable(name = "USER_ROLES", joinColumns = { @JoinColumn(name = "USER_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID") })
private List<ActifioRoles> userRole = new ArrayList<ActifioRoles>();
@OneToMany(fetch=FetchType.EAGER,cascade=CascadeType.ALL,mappedBy="userDetails")
@Fetch(value = FetchMode.SUBSELECT)
private List<com.actifio.domain.Address> userAddress = new ArrayList<com.actifio.domain.Address>();
@OneToOne(cascade=CascadeType.ALL)
private Tenant tenantDetails;
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmailId() {
return emailId;
}
public void setEmailId(String emailId) {
this.emailId = emailId;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getConfPassword() {
return confPassword;
}
public void setConfPassword(String confPassword) {
this.confPassword = confPassword;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public List<ActifioRoles> getUserRole() {
return userRole;
}
public void setUserRole(List<ActifioRoles> userRole) {
this.userRole = userRole;
}
public String getMiddleName() {
return middleName;
}
public void setMiddleName(String middleName) {
this.middleName = middleName;
}
public Integer getPhoneNo() {
return phoneNo;
}
public void setPhoneNo(Integer phoneNo) {
this.phoneNo = phoneNo;
}
public List<com.actifio.domain.Address> getUserAddress() {
return userAddress;
}
public void setUserAddress(List<com.actifio.domain.Address> userAddress) {
this.userAddress = userAddress;
}
public Tenant getTenantDetails() {
return tenantDetails;
}
public void setTenantDetails(Tenant tenantDetails) {
this.tenantDetails = tenantDetails;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
}
これを解決するにはどうしたらよいでしょうか?
どのように解決するのですか?
私は、hibernate プロキシオブジェクトを介した遅延ロードで同様の問題がありました。遅延ロードされたプライベートプロパティを持つクラスにアノテーションを付けることで回避しました。
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
JSONシリアライズを壊すプロキシオブジェクトのプロパティをそのアノテーションに追加することができると仮定しています。
問題は、エンティティが遅延ロードされ、完全にロードされる前にシリアライズが行われることです。
Hibernate.initialize(<your getter method>);
関連
-
[解決済み] JsonMappingException: No suitable constructor found for type [simple type, class ]: can't instantiate from JSON object.
-
[解決済み] JSON Schemaにおける "required "と "optional "の違いについて
-
[解決済み] 複数の配列を持つJSONオブジェクトを作るにはどうしたらいいですか?
-
[解決済み] クラスをJSONシリアライザブルにする方法
-
jsonファイルのインポートエラー、TypeError expected string or buffer
-
json.loadsがエラーを報告します。二重引用符で囲まれたプロパティ名を期待:行1列2(char 1)
-
Gulpがデモ用ライティングウィジェットを作成
-
[解決済み] JSONファイルのMongoimport
-
[解決済み] 構造体に複数のネームタグを定義する方法
-
[解決済み] jsonパラメータを含むCurl GETリクエスト
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Unreadable Notebook NotJSONError('Notebook does not appear to be JSON: u'{'cells": [\'{'cell_type": "...],)
-
[解決済み] VBScriptによるJSONのデコード/エンコード
-
[解決済み] Postgresで、レコードにjsonや文字列が混在している場合に、'invalid input syntax for type json'を防ぐにはどうしたらよいでしょうか。
-
[解決済み] kubectl get pods の json フォーマットの出力を jsonpath でパースする方法
-
[解決済み] RESTful WebServiceにファイルや関連データをJSONで投稿する。
-
[解決済み] JSON命名規則(snake_case、camelCase、PascalCase) [終了しました。]
-
jsonファイルのインポートエラー、TypeError expected string or buffer
-
[解決済み] VSCodeでlaunch.jsonに環境変数を追加する方法
-
[解決済み] fs.writeFileSyncによるJSONオブジェクトのJSONファイルへの書き込み
-
[解決済み] Goを使用してJSONレスポンスを提供するには?