每次调用getLocation方法
时都会出错错误 - 为类提供了错误类型的ID Expected:class got class java.lang.Integer
@Id
@Column(name = "emi")
public String getEmi() {
return emi;
}
public void setEmi(String emi) {
this.emi = emi;
}
@Id
@Column(name = "latitude")
public Double getLatitude() {
return latitude;
}
public void setLatitude(Double latitude) {
this.latitude = latitude;
}
@Id
@Column(name = "longitude")
public Double getLongitude() {
return longitude;
}
public void setLongitude(Double longitude) {
this.longitude = longitude;
}
这就是在经理类中编写themetjod的方法
public Location getLocation(int id ) {
session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Location location = (Location) session.get(Location .class, id);
session.getTransaction().commit();
session.close();
return location;
}
答案 0 :(得分:0)
<input type="text" name='name0' placeholder='0.00' class="form-control">
<input type="text" name='mail0' placeholder='0.00' class="form-control" >
的ID类型错误。您应该已经通过错误消息自己识别了它!
为类com.nsbm.entity.Location提供了错误类型的id。预期:类com.nsbm.entity.Location,得到类java.lang.Integer
您应该以可以解决此问题的方式更改session.get()
方法调用。我不知道这个方法的逻辑,但为了解决这个问题,我已经指出了你的错误。
session.get()
希望这有帮助!
答案 1 :(得分:0)
您的跟踪器表中只有一个主键,并且您已将每列定义为Id,
您的位置类应如下所示。
@Entity
@Table(name = "tracker")
public class Location {
@Id
@Column(name="id")
public Integer getId(){
return this.id;
}
public void setId(Integer id){
this.id = id;
}
@Column(name = "emi")
public String getEmi() {
return emi;
}
public void setEmi(String emi) {
this.emi = emi;
}
@Column(name = "latitude")
public Double getLatitude() {
return latitude;
}
public void setLatitude(Double latitude) {
this.latitude = latitude;
}
@Column(name = "longitude")
public Double getLongitude() {
return longitude;
}
public void setLongitude(Double longitude) {
this.longitude = longitude;
}
}
其他所有事情都很好。
尝试使用此课程。