我想询问一个人,并得到以下回应:
{
"id": 186506,
"first_name": "JANE",
"last_name": "DOE",
"pidm": 324950
}
但在需要时,我还想包含phone
字段,并获得如下内容:
{
"id": 186506,
"phones": [
{
"id": 329815,
"phone_number": "1234567890"
},
{
"id": 329816,
"phone_number": "0987654321"
}
],
"first_name": "JANE",
"last_name": "DOE",
"pidm": 324950
}
但是,我得到的只是手机ID,就像这样:
{
"id": 186506,
"phones": [
{
"id": 329815
},
{
"id": 329816
}
],
"first_name": "JANE",
"last_name": "DOE",
"pidm": 324950
}
这是两个有问题的领域:
@Entity
@Table(name="PERSON")
class Person implements Serializable {
@Id
@Column(name="person_id")
Long id
@Column(name="person_pidm")
Long pidm
@Column(name="person_first_name")
String first_name
@Column(name="person_last_name")
String last_name
@OneToMany(mappedBy="pidm")
private List<SprteleDetail> phones
List<SprteleDetail> getPhones() {
return phones
}
}
java prettyprint-override">@Entity
@Table(name="TELEPHONE")
class Telephone implements Serializable {
@Id
@Column(name="telephone_id")
Long id
@Column(name="telephone_phone_number")
String phone_number
@ManyToOne
@JoinColumn(name="telephone_pidm", referencedColumnName="person_pidm")
private Person pidm;
}
试试这个
@ManyToOne
@JoinColumn(name="telephone_pidm", referencedColumnName="person_pidm")
@JsonBackReference //try this
private Person pidm;
在json like中您想要的字段上添加< code>@JsonBackReference
@ManyToOne
@JsonBackReference
@JoinColumn(name="telephone_pidm", referencedColumnName="person_pidm")
private Person pidm;
@ManyToOne
@JoinColumn(name="telephone_pidm", referencedColumnName="person_pidm")
@JsonIgnore //try this
private Person pidm;
Navicat 会依源表或集合对字段类型和長度作出假设。你可以从下拉式菜单选择你所需的类型。 【提示】导入多个表或集合时,你可以从下拉式菜单选择其他表或集合。 如果你导入数据到现有的表或集合,你则需要手动映射源字段名到目标,或按住 Control 键并点按字段,然后选择“智慧匹配全部字段”、“按次序匹配全部字段”和“全部取消匹配”来进行快速匹配。 如果你透过 ODBC 导入,“条件式查询”按钮会打
我试图使用MapStruct在dto和实体对象之间映射convert,但是生成的映射器实现只返回空的映射对象。 BeermapperImpl 任何人都可以提供我的代码可能出错的地方?谢谢!
我与ModelMapper框架有麻烦。请解释为什么我看到以下行为。 我在build.gradle有以下依赖性 和一个类客户: 我还有一个地图绘制工具: 还有一个测试 在fred()中,方法输出是非红色的“Customer{name=fred,age=40}”(“Customer{name=null,age=40}”)。你能解释一下为什么吗?为什么我在第一个方法中看不到输出“George”?
我一直试图通过一个名为Guardian的中间类映射两个用户之间的一些“OneToOne”关系。当我试图检索一个用户(和他的监护人)时,从Glassfish(Open edition V4.0)返回一个内部服务器错误。但是,日志中没有显示任何类型的堆栈跟踪或任何错误。我怀疑问题是我在JPA类中的映射。 启动服务器时,我得到两个与Guardian类有关的警告,但我并不真正理解: 警告:映射到元素[me
我们必须在可选元素“mappedby”中指定什么。是特定模型的table_name还是classname? 哪个是正确的? 这个
我有一个对象,我正试图映射到。现在这个有一个名为的枚举,其中包含一些值。我想使用将它们映射到中的其他枚举值。以下是我到目前为止的代码: 当我尝试编译它时,我得到了错误: