繁体   English   中英

如何仅在Spring框架中从休眠的一对多关系中仅从父类获取JSON数据

[英]How to get json data only from parent class in hibernate one to many relationship in spring framework

我正在使用spring框架并将hibernate用作ORM工具。

我的父母班是这样的:

@Entity

public class Category {
@Id
@GeneratedValue

@NotNull
private int cid;
private String cname;
@OneToMany(cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
@JoinColumn(name = "cid")
List<Ad> ads;

// getter和setter,构造函数}

我的孩子班是这样的:

@Entity
public class Ad {
private int adid;
private String adName;
//getter and setter, constructor
}

我的类别控制器是:

@Controller
public class CategoryController {

@Autowired
SessionFactory sessionFactory;
Session session;
@Transactional
@RequestMapping(value = "categories",method = RequestMethod.GET)
@ResponseBody
public List<Category> getAllCategory()throws SQLException{
    session=sessionFactory.getCurrentSession();
    return session.createCriteria(Category.class).list();
}
}

当我点击url localhost:8080 / categories。我得到像json数据:

{"cid":"1",cname":"category","ads":[{"adid":"1","adName":"ad"}]}

在这里,我同时获取父表和相关子表的数据,但是如何只获取父表的数据,在此示例中,我需要像这样的数据:

{"cid":"1",cname":"category"}

我怎样才能做到这一点

我看到了一篇很好的文章,准确地描述了您的问题。

杰森排除财产

通过使用@JsonIgnore@JsonProperty批注配置Entity,您可以实现此目的。

您可以尝试如下

无限递归与Jackson JSON和Hibernate JPA问题

基本上必须在需要断开链接的地方应用排除

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM