我想知道是否可以为我的控制器解析2个实体作为一个JSON,它确实有2x@RequestBody(对于每个实体),首先我想检查这是否可能,因为我希望有一个控制器有3x@RequestBody(3个实体)。
控制器如下所示:
@RequestMapping(method = RequestMethod.POST)
public ResponseEntity<KoordynatorzyPraktykEntity> addCoordinator(@RequestBody KoordynatorzyPraktykEntity koordynatorzyPraktykEntity, @RequestBody OsobyEntity osobyEntity) {
KoordynatorzyPraktykEntity addCoordinator = ikoordynatorzyPraktykService.addCoordinator(koordynatorzyPraktykEntity);
OsobyEntity addPerson = ikoordynatorzyPraktykService.addPerson(osobyEntity, koordynatorzyPraktykEntity);
if (addCoordinator !=null && addPerson !=null) {
return new ResponseEntity<KoordynatorzyPraktykEntity>(addCoordinator, HttpStatus.OK);
}
else {
return new ResponseEntity<KoordynatorzyPraktykEntity>(HttpStatus.NOT_FOUND);
}
}
服务:
@Override
public OsobyEntity addPerson(OsobyEntity osobyEntity, KoordynatorzyPraktykEntity koordynatorzyPraktykEntity) {
OsobyEntity newPerson = iosobyDAO.addPerson(osobyEntity);
newPerson.setKoordynator(koordynatorzyPraktykEntity);
int idOsoby = newPerson.getIdOsoby();
koordynatorzyPraktykEntity.setIdOsoby(idOsoby);
koordynatorzyPraktykEntity.setKoordynatorByIdOsoby(newPerson);
return newPerson;
}
@Entity
@Table(name = "osoby", schema = "public", catalog = "praktykidb")
public class OsobyEntity {
private int idOsoby;
/*
some stuff
*/
private KoordynatorzyPraktykEntity koordynator;
@Id
@GeneratedValue
@Column(name = "id_osoby")
public int getIdOsoby() {
return idOsoby;
}
public void setIdOsoby(int idOsoby) {
this.idOsoby = idOsoby;
}
/*
some stuff
*/
@OneToOne(mappedBy = "koordynatorByIdOsoby", fetch = FetchType.LAZY, cascade = CascadeType.ALL)
public KoordynatorzyPraktykEntity getKoordynator() {
return koordynator;
}
public void setKoordynator(KoordynatorzyPraktykEntity koordynator) {
this.koordynator = koordynator;
}
@Entity
@Table(name = "koordynatorzy_praktyk", schema = "public", catalog = "praktykidb")
public class KoordynatorzyPraktykEntity {
private int idKoordynatoraPraktyk;
private int idOsoby;
private String doTestow;
private OsobyEntity koordynatorByIdOsoby;
private Collection<KoordynatorzyKierunkowiEntity> koordynatorzyByIdKierunku;
@Id
@GeneratedValue
@Column(name = "id_koordynatora_praktyk")
public int getIdKoordynatoraPraktyk() {
return idKoordynatoraPraktyk;
}
public void setIdKoordynatoraPraktyk(int idKoordynatoraPraktyk) {
this.idKoordynatoraPraktyk = idKoordynatoraPraktyk;
}
@Basic
@Column(name = "id_osoby")
public int getIdOsoby() {
return idOsoby;
}
public void setIdOsoby(int idOsoby) {
this.idOsoby = idOsoby;
/*
some stuff
*/
@JsonIgnore
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id_osoby", referencedColumnName = "id_osoby", insertable = false , updatable = false)
public OsobyEntity getKoordynatorByIdOsoby() {
return koordynatorByIdOsoby;
}
public void setKoordynatorByIdOsoby(OsobyEntity koordynatorByIdOsoby) {
this.koordynatorByIdOsoby = koordynatorByIdOsoby;
}
@JsonIgnore
@OneToMany(mappedBy = "koordynatorzyByIdKierunku", cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
public Collection<KoordynatorzyKierunkowiEntity> getKoordynatorzyByIdKierunku() {
return koordynatorzyByIdKierunku;
}
public void setKoordynatorzyByIdKierunku(Collection<KoordynatorzyKierunkowiEntity> koordynatorzyByIdKierunku) {
this.koordynatorzyByIdKierunku = koordynatorzyByIdKierunku;
}
[StudentEntity] [AddressEntity]
idOfStudent (PK) /--------idOfAddress (PK)
idOfAddress (FK)<-----/
idOfPerson (FK)<-----\ [PersonEntity]
\--------idOfPerson (PK)
对于2实体,这不是问题,但是对于3我不知道该怎么办,因为当我创建Student时,它将Address和Person的ID指定为0,然后当我想添加Address时,我想用他的ID搜索(em.find)Student,但他也在idOfAddress=0和idOfPerson=0的Address和Person实体中查找行。也许有一种方法可以使这些ID为空,当我将学生持久化到实体?也许还有别的想法?
这是一种错误的方法,因为请求正文只能被使用一次,所有随后再次处理正文的尝试都将导致IOException表示流关闭。
相反,您应该为OsobyEntity和KoordynatorzyPraktykEntity类型构建和注册一个自定义参数解析器,并实现相同的效果。
问题内容: 我正在尝试获取以html格式格式化的文本片段,以在UITableViewCell中的iPhone上很好地显示。 到目前为止,我有这个: 这种作品。我得到一些加粗的“ Nice”文字!但是…它还将字体设置为Times Roman!这不是我想要的字体。我想我需要在documentAttributes中设置一些内容,但是,我在任何地方都找不到任何示例。 问题答案: 弄清楚了。有点负担,也许不
我正在尝试执行以下操作:但这不起作用:`puthttp://localhost:8080/university/api/v1/study/content-type:application/json {“course”:{“id”:1},“student”:{“id”:5}}`如何在json中创建2个实体
我有一个基本接口,并从中扩展了3个接口,和。在对进行了一些业务更改之后,现在与相同,但为了一致性,我不希望仅使用,而不是使用扩展接口。我试着这样做: 然后,ESLint警告我不要使用空接口。如果我不想禁用此规则,是否有方法将声明为与相同的接口?
我正在尝试为实体创建一个域模型(聚合),该实体包含子实体,并且可以有父实体。我们有实体包。我们可以把包裹分成更小的包裹(儿童)。每个分开的包都有一个父包。域的哪个部分应该包含域逻辑:聚合还是域服务?e、 g.聚合包有一个方法 分包还是原包?解决这个问题的正确方法是什么? 我希望我的域模型被ddd(应用程序和基础设施)的其他部分保持干净和幂等
对于任何一个 ORM 工具,大都是根据配置者约定了解你打算怎么把一张数据表与你的 Java 对象 映射到一起。默认的 Nutz.Dao 采用 Java 注解(Annotation) 的方式描述这个映射,但是,当然 世界上还有很多其它的映射方式,比如用各种配置文件,比如 JPA 的注解,或者你很想把这个 映射关系写在数据库的几张表里,甚至一个 Excel 表格里(你就觉得这样很酷) 从 1.b.38
我有应用程序,以自定义字体样式生成报告,如字体家族,颜色,大小和样式(粗体,斜体,下划线)。我使用Windows系统中的所有字体族。
我有一个实体列表,这些实体又有另一个(可嵌入)类型的字段 所有这些实体都应转换为一个bean,其中包含这些可嵌入类型的列表。在使用推土机之前,我编写了一个转换方法。我已经把这个放进了dozerBeanMapping。xml: 我这样实例化推土机: 我必须调用哪个map方法?使用 未调用自定义转换器。 试图唤起 很好,但我必须转换列表 我如何才能实现这一点?
我试图通过POST方法将参数发送到php到mysql。我的代码似乎没有将参数加载到httpPost中。调试时,我看到httpPost变量下的参数为null,并且似乎没有拾取实体。如果您有任何帮助,我们将不胜感激。我正在使用android studio。 主要活动 写数据库。java构建列表Namevaluepairs } 我的JSONParser。 } 还有我的Logcat