有實體類user 和Info ,info對應(yīng)的表中有user的主鍵作為外鍵,需求是查詢info可以得到對應(yīng)的user,查詢user可以得到對應(yīng)的info。package?com.zxy.demo.entity;
import?com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import?com.fasterxml.jackson.annotation.JsonIgnoreType;
import?javax.persistence.*;
@Entity
public?class?User?{
????@Id
????@GeneratedValue
????private?Integer?id;
????private?Integer?age;
????@OneToOne(mappedBy?=?"user",cascade?=?CascadeType.ALL)
????private?Info?userInfo;
????public?Integer?getId()?{
????????return?id;
????}
????public?void?setId(Integer?id)?{
????????this.id?=?id;
????}
????public?Integer?getAge()?{
????????return?age;
????}
????public?void?setAge(Integer?age)?{
????????this.age?=?age;
????}
????public?Info?getUserInfo()?{
????????return?userInfo;
????}
????public?void?setUserInfo(Info?userInfo)?{
????????this.userInfo?=?userInfo;
????}
}package?com.zxy.demo.entity;
import?javax.persistence.*;
@Entity
public?class?Info?{
????@Id
????@GeneratedValue
????private?Integer?id;
????@Column(nullable?=?false)
????private?String?idCard;
????@OneToOne(cascade?=?CascadeType.ALL)
????@JoinColumn(unique?=?true)
????private?User?user;
????public?Integer?getId()?{
????????return?id;
????}
????public?void?setId(Integer?id)?{
????????this.id?=?id;
????}
????public?String?getIdCard()?{
????????return?idCard;
????}
????public?void?setIdCard(String?idCard)?{
????????this.idCard?=?idCard;
????}
????public?User?getUser()?{
????????return?user;
????}
????public?void?setUser(User?user)?{
????????this.user?=?user;
????}
????@Override
????public?String?toString()?{
????????return?"Info{"?+
????????????????"id="?+?id?+
????????????????",?idCard='"?+?idCard?+?'\''?+
????????????????",?user="?+?user?+
????????????????'}';
????}
}當(dāng)調(diào)用jpa的findOne方法時,hibernate會注入user中的info,然后又一次注入info中的user,這樣很蠢。網(wǎng)上找到控制json解析的注解,這樣做還不如直接單項關(guān)聯(lián),治標(biāo)不治本。求一個解決方案!
添加回答
舉報
0/150
提交
取消