为什么jpa不按照我的sql语句执行查找?

我因为要链表查询,所以在主表a表里,增加了一个b表需要链表查出来的字段,设好set get后,链表查是查出来了,可是麻烦来了

首先,插入a表的时候,那个字段麻烦,还好我解决了

然后,就是单条查询,用作修改的时候,发现无论咋样,查询的时候都把我那链表的那个字段放进去,我这种需求下不需要链表那个字段的。我查hebnet的注解,没发现哪个注解能够实现我这种需求,所以我想了另一个办法,就是执行原始sql语句,然后把我想要的字段写出来,这样就不会查找那个不存在的了吧?
图片描述

好吧,如图,这咋搞?我明明没查找那个字段,却在sql里面出现了,然后报错,求教各位老哥如何解决呢?

我的bean里有条本表不存在的字段,然后我想查找本表本来的内容时,如何才能成功呢?

不重新写个bean哈,还有就是不用Onemany那些注解,就用sql解决可有法子呢?

谢谢

复制下我的bean,catname这个字段,是我链表的字段,单条记录查询的时候我不需要的

@Entity
@Table(name = "news")

public class News {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private Integer id;

private String xname;

private String xcontent;

// @CreatedDate
// private Date addtime;

private String image;

private Integer click;

private String descript;

private String keyword;

private Integer catid;

@Column(insertable = false)

@Transient

private String catname;

public String getCatname() {

return catname;

}

public void setCatname(String catname) {

this.catname = catname;

}

private Integer type;

public Integer getType() {

return type;

}

public void setType(Integer type) {

this.type = type;

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getXname() {

return xname;

}

public void setXname(String xname) {

this.xname = xname;

}

public String getXcontent() {

return xcontent;

}

public void setXcontent(String xcontent) {

this.xcontent = xcontent;

}

// public Date getAddtime() {
// return addtime;
// }
//
// public void setAddtime(Date addtime) {
// this.addtime = addtime;
// }

public String getImage() {

return image;

}

public void setImage(String image) {

this.image = image;

}

public Integer getClick() {

return click;

}

public void setClick(Integer click) {

this.click = click;

}

public String getDescript() {

return descript;

}

public void setDescript(String descript) {

this.descript = descript;

}

public String getKeyword() {

return keyword;

}

public void setKeyword(String keyword) {

this.keyword = keyword;

}

public Integer getCatid() {

return catid;

}

public void setCatid(Integer catid) {

this.catid = catid;

}

回答:

@Transient

不需要数据库映射的字段加个注解

以上是 为什么jpa不按照我的sql语句执行查找? 的全部内容, 来源链接: utcz.com/p/172547.html

回到顶部