我写了宠物pet和petower两个实体,他们是manytoone关系
@ManyToOne(fetch = FetchType.LAZY,cascade={CascadeType.ALL})
@JoinColumn(name = "petowerid", nullable = false)
public Petower getPetower() {
return this.petower;
}@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "petower")
public Set<Pet> getPets() {
return this.pets;
}这是两个实体写的注解,我这里写了cascade = CascadeType.ALL,那这样我查宠物的时候,petower就会也查出来
我的查询语句:from Pet as model,Petower where model.name like ? and model.petower.name like ?
但是我查出来后petower里面的值却全部为空,这个问题我纠结了半天,各位帮帮忙,哪里有问题啊,下面是完整的查询语句:
String queryString = "from Pet as model,Petower where model.name like ? and model.petower.name like ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, "%"+petname+"%");
queryObject.setParameter(1, "%"+petowername+"%");
return queryObject.list();
@ManyToOne(fetch = FetchType.LAZY,cascade={CascadeType.ALL})
@JoinColumn(name = "petowerid", nullable = false)
public Petower getPetower() {
return this.petower;
}@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "petower")
public Set<Pet> getPets() {
return this.pets;
}这是两个实体写的注解,我这里写了cascade = CascadeType.ALL,那这样我查宠物的时候,petower就会也查出来
我的查询语句:from Pet as model,Petower where model.name like ? and model.petower.name like ?
但是我查出来后petower里面的值却全部为空,这个问题我纠结了半天,各位帮帮忙,哪里有问题啊,下面是完整的查询语句:
String queryString = "from Pet as model,Petower where model.name like ? and model.petower.name like ?";
Query queryObject = getSession().createQuery(queryString);
queryObject.setParameter(0, "%"+petname+"%");
queryObject.setParameter(1, "%"+petowername+"%");
return queryObject.list();
解决方案 »
- 100分求oracle date数据类型怎么比较例子,不够再加?
- 兄弟门来看看啊,jsp+sqlserver
- jsp里实现打印功能
- 请问有人在J2EE1.2的工程上用过JSTL么,是不是一定要J2EE1.3以上的才可以?
- HttpSessionListener 统计在线人数问题 急急!!!
- 能否实现两个Servlet共享变量!!
- 怎样把单引号插入Oracle数据库?
- 怎么我jsp页面老报错呢,
- jsp加入图片流后显示不了其他内容怎么办
- spring+quartz动态任务报错请问为什么?????
- 急问!! 重定向后,如何取回原来的session?(单点登录后)
- action获取不到jsp值???
把它改成false!!! lazy=“false”
// 对于OneToMany,fetch默认就是LAZY,所以不写也可
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "petower")
public Set<Pet> getPets() {
return this.pets;
}// 对于ManyToOne,fetch默认就是EAGER,你把它设为LAZY,当然就查不到了,所以,把此属性去掉或改为EAGER试试:
@ManyToOne(fetch = FetchType.LAZY,cascade={CascadeType.ALL})
@JoinColumn(name = "petowerid", nullable = false)
public Petower getPetower() {
return this.petower;
}