67,515
社区成员
发帖
与我相关
我的任务
分享
could not resolve property: roomTypes of: com.qlw.hotelmanagenemt.model.Rooms [select r.roomId,r.roomTypes.typeName,r.roomStatus from com.qlw.hotelmanagenemt.model.Rooms r]
package com.qlw.hotelmanagenemt.model;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Id;
@Entity
public class Rooms {
private int id;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private RoomTypes roomTypes;
@ManyToOne(cascade=CascadeType.ALL,targetEntity = RoomTypes.class)
@JoinColumn(name="typeId",updatable=false,insertable=false)
public RoomTypes getRoomtypes() {
return roomTypes;
}
public void setRoomtypes(RoomTypes roomTypes) {
this.roomTypes = roomTypes;
}
private int typeId;
private String roomId;
private int roomStatus;
public int getTypeId() {
return typeId;
}
public void setTypeId(int typeId) {
this.typeId = typeId;
}
public String getRoomId() {
return roomId;
}
public void setRoomId(String roomId) {
this.roomId = roomId;
}
public int getRoomStatus() {
return roomStatus;
}
public void setRoomStatus(int roomStatus) {
this.roomStatus = roomStatus;
}
}
package com.qlw.hotelmanagenemt.model;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Id;
@Entity
public class RoomTypes {
private int id;
@Id
@GeneratedValue
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private String typeName;
private int bedNum;
private String bedType;
private int wifi; //0表示没有;1表示有
private String area;
private int price;
private String remark;
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public int getBedNum() {
return bedNum;
}
public void setBedNum(int bedNum) {
this.bedNum = bedNum;
}
public String getBedType() {
return bedType;
}
public void setBedType(String bedType) {
this.bedType = bedType;
}
public int getWifi() {
return wifi;
}
public void setWifi(int wifi) {
this.wifi = wifi;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
public List<RoomInfo> getRooms() {
return (List<RoomInfo>)hibernateTemplate.find("select r.roomId,r.roomTypes.typeName,r.roomStatus from Rooms r");
}
package com.qlw.hotelmanagenemt.model;
public class RoomInfo {
private int typeId;
private String roomId;
private int roomStatus;
private String typeName;
private int bedNum;
private String bedType;
private int wifi; //0表示没有;1表示有
private String area;
private int price;
private String remark;
public int getTypeId() {
return typeId;
}
public void setTypeId(int typeId) {
this.typeId = typeId;
}
public String getRoomId() {
return roomId;
}
public void setRoomId(String roomId) {
this.roomId = roomId;
}
public int getRoomStatus() {
return roomStatus;
}
public void setRoomStatus(int roomStatus) {
this.roomStatus = roomStatus;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public int getBedNum() {
return bedNum;
}
public void setBedNum(int bedNum) {
this.bedNum = bedNum;
}
public String getBedType() {
return bedType;
}
public void setBedType(String bedType) {
this.bedType = bedType;
}
public int getWifi() {
return wifi;
}
public void setWifi(int wifi) {
this.wifi = wifi;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
}
public List<RoomInfo> getRooms() {
return (List<RoomInfo>)hibernateTemplate.find("select new com.qlw.hotelmanagement.dto.RoomInfo(r.roomId,rt.typeName,r.roomStatus) from Rooms r,RoomTypes rt where r.typeId=rt.id");
}
另外在RoomInfo里加上构造方法:
package com.qlw.hotelmanagement.dto;
public class RoomInfo {
private String roomId;
private String typeName;
private int roomStatus;
public RoomInfo(String roomId, String typeName, int roomStatus) {
this.roomId = roomId;
this.typeName = typeName;
this.roomStatus = roomStatus;
}
public String getRoomId() {
return roomId;
}
public void setRoomId(String roomId) {
this.roomId = roomId;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}
public int getRoomStatus() {
return roomStatus;
}
public void setRoomStatus(int roomStatus) {
this.roomStatus = roomStatus;
}
}
前端就能取到数据了。。。public List<RoomInfo> getRooms() {
return (List<RoomInfo>)hibernateTemplate.find("select r.roomId,rt.typeName,r.roomStatus from Rooms r,RoomTypes rt where r.typeId=rt.id");
}
action中的方法
public String list() {
this.roomInfo = this.rm.getRooms();
// Iterator<RoomInfo> it = roomInfo.iterator();
// while(it.hasNext()) {
// System.out.println(it.next().getRoomId());
// }
//
// if(roomInfo != null) {
// Object[] obj =roomInfo.toArray();
// System.out.println(obj[0].toString());
//
// }
//
return "list";
}
前端JSP:
<s:iterator value="roomInfo">
<tr>
<td nowrap="nowrap" align="center"><s:property value="roomId"/></td>
<td nowrap="nowrap" align="center"><s:property value="typeName"/></td>
<!-- <td nowrap="nowrap" align="center"><s:if test="typeId == 1">单人间</s:if>
<s:elseif test="typeId == 2">双人间</s:elseif>
<s:else>套间</s:else></td>
-->
<td nowrap="nowrap" align="center"><s:if test="roomStatus == 1">售出</s:if>
<s:else>空闲</s:else></td>
</tr>
</s:iterator>
</table>
<form action="room!list.action">
<input type="submit" value="刷新" />
</form>
就是前端取不到数据。。。求解。。。