在尝试执行GET到发布者存储库时,我正在执行GET和无限循环。
出版商:
@Data
@AllArgsConstructor
@Entity
@Table(name = "publisher")
public class Publisher {
@Id
private Long publisherID;
private String name;
private String location;
public Publisher(@JsonProperty("publisherID") Long publisherID,
@JsonProperty("name") String name,
@JsonProperty("location") String location) {
this.publisherID = publisherID;
this.name = name;
this.location = location;
}
@JsonManagedReference(value="Book-Publisher")
@OneToMany(mappedBy = "publisher", cascade = CascadeType.ALL)
private Set<Book> books;
public Publisher() {
}
}
书:
@Data
@AllArgsConstructor
@Entity
@Table(name = "book")
public class Book {
@Id
private String name;
@JsonBackReference(value="Book-Publisher")
@ManyToOne
@JoinColumn(name="publisherID")
private Publisher publisher;
private int publicationYear;
private int amount;
@JsonManagedReference(value="BookAuthors-Book")
@OneToMany(mappedBy = "book", cascade = CascadeType.ALL)
private Set<BookAuthors> bookAuthors;
@JsonManagedReference(value="BookGenres-Book")
@OneToMany(mappedBy = "book", cascade = CascadeType.ALL)
private Set<BookGenres> bookGenres;
public Book(@JsonProperty("id") Long id,
@JsonProperty("name") String name,
@JsonProperty("publisherID") Long publisherID,
@JsonProperty("publicationYear") int publicationYear,
@JsonProperty("amount") int amount) {
this.id = id;
this.name = name;
this.publicationYear = publicationYear;
this.amount = amount;
PublisherService publisherService = BeanUntil.getBean(PublisherService.class);
this.publisher = publisherService.findByID(publisherID).get();
}
@JsonManagedReference(value="RentedBook-Book")
@OneToMany(mappedBy = "book", cascade = CascadeType.ALL)
private Set<RentedBook> rentedBooks;
public Book() {
}
完整代码可在此处获得:
https://github.com/vanyasav/library
当为响应序列化publisher
列表时,将调用publisher
字段的所有getter方法。因此,publisher
关系字段books
的getter也被调用来设置值。这是递归发生的,这就是无限递归的原因。
最好不要使用实体作为响应。为publisher创建一个DTO类,然后将publisher实体值映射到DTO中,然后发送响应。
要将一个模型动态映射到另一个模型,可以使用modlemapper
我用的是Spring Roo 1.2.1和Jackson 1.9.7。在使用json序列化我的类时,我得到了一个JsonMappingException。 我读了以下帖子,但没有找到适合我的工作解决方案: Jackson的无限递归 Jackson-具有双方向关系的实体序列化(避免循环) 我不知道为什么JsonIgnore在属性QueueOuts的类Queue中不起作用。我也尝试了JsonManag
我正在尝试用spring Security授权用户。到目前为止,我能够通过ldap对它们进行身份验证,但还无法获得授权。 我还将ldap与Apache Directory Studio连接起来,查询用户信息,可以在用户中找到权限。但spring security ldap配置无法收集它们。 下面是application-config.xml的ldap部分:
编辑:此处不允许的消息不再显示。 我正在使用Volley访问google books,api是IcecreamSandwich。即使包括对清单文件的权限,我仍然会得到关于权限的异常。我已经读了一些已回答的问题(这个,这个)。当光标指向时,表示此处不允许使用该标记。我该如何解决问题呢? logcat:
我的代码只有在我删除限制函数时才有效,我做错了什么? 错误为: TypeError:批量。查找(…)。limit不是D:\nodeprojects\mysite\server上的函数。js:281:19 at对象。(D:\nodeprojects\mysite\server.js:285:3)位于模块_在对象处编译(module.js:570:32)。模块_扩展。。模块处的js(模块js:579:
我最近实现了一个4X4井字游戏的代码,这是使用极大极小算法。然而,我的极大极小函数无限次地递归调用自己。 初始板 (4X4) 井字 - 轮到电脑的代码- 在上面的代码中是船上的空位置,返回“X”(如果玩家X获胜),返回“O”(如果玩家O获胜) checkGameOver函数-
我试图从邮递员这里发送json正文,我有简单的php代码获取json正文 当我从邮递员那里发送json尸体时,它给出了这些东西 注意:未定义的偏移量:第7行D:\Xampp\htdocs\Ass\index.php中的0 数组 那么如何从php文件中获取json值呢?