gpt4 book ai didi

java - Morphia 中用于嵌套类的 ORM

转载 作者:可可西里 更新时间:2023-11-01 09:48:16 26 4
gpt4 key购买 nike

我在 Morphia DB 中的 Json 文档如下所示 -

{
"_id" : ObjectId("58fcdf7e"),
"status" : "ACTIVE",
"user" : {
"id" : NumberLong(228),
"email" : "testing@domian.com"
}
}

我为这个集合创建了一个 Java 类,如下所示 -

@Entity("member_offer")
public class MemberOffer {
@Id
private ObjectId objectId;

@Property("status")
private String status;

@Embedded("user")
private UserDetail user;

@Embedded
class UserDetail {
@Property("id")
public long memberId;

@Property("email")
public String email;

UserDetail() {

}
}

public ObjectId getObjectId() {
return objectId;
}

public void setObjectId(ObjectId objectId) {
this.objectId = objectId;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public UserDetail getUser() {
return user;
}

public void setUser(UserDetail user) {
this.user = user;
}
}

现在,当我尝试获取数据时,出现了这个异常 -

java.lang.RuntimeException: org.mongodb.morphia.mapping.MappingException: No usable constructor for vo.MemberSubscription$UserDetail

Caused by: org.mongodb.morphia.mapping.MappingException: No usable constructor for vo.MemberSubscription$UserDetail

Caused by: org.mongodb.morphia.mapping.MappingException: No usable constructor for vo.MemberSubscription$UserDetail

Caused by: java.lang.NoSuchMethodException: vo.MemberSubscription$UserDetail.()

知道如何解决这个问题吗?我希望 UserDetail 只是嵌套类,我知道如果我将它创建为一个独立的类,这个错误就可以解决。但我的问题是,在 Morphia 中可以实现这样的事情(具有嵌套类)吗?

此外,如果我的设计存在一些根本性缺陷,请告知我。

最佳答案

你应该尝试对构造函数使用public修饰符,同时使UserDetail(内部类)是static

关于java - Morphia 中用于嵌套类的 ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45168496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com