我不知道怎么了 我的jpa映射似乎很好,但出现此错误:
通过反射访问持久性[main.java.entities.GPSCoordinates#user]字段时错误访问字段[private main.java.entities.User main.java.entities.GPSCoordinates.user]:main.java.entities.GPSCoordinates
Caused by: javax.persistence.PersistenceException: org.hibernate.property.access.spi.PropertyAccessException: Error accessing field [private main.java.entities.User main.java.entities.GPSCoordinates.user] by reflection for persistent property [main.java.entities.GPSCoordinates#user] : main.java.entities.GPSCoordinates@1
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)
at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)
at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:560)
at main.java.lookup.UserServiceImp.findByUuid
Run Code Online (Sandbox Code Playgroud)
用户类别:
@Entity
@Table
@NamedQuery(name = "User.findByUuid", query = "SELECT u FROM User u WHERE u.uuid=:uuid")
public class User implements Serializable, PictureHolder {
//...
@OneToOne(mappedBy = "user", fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
private GPSCoordinates coordinates;
public GPSCoordinates getCoordinates() { return coordinates;}
public void setCoordinates(GPSCoordinates coordinates) {this.coordinates = coordinates;}
}
Run Code Online (Sandbox Code Playgroud)
GPSCoordinates类别:
@Entity
@Table(name="user_gps_coordinates")
public class GPSCoordinates implements Serializable{
@Id
@OneToOne
@JoinColumn(name="user")
private User user;
public User getUser() { return user; }
public void setUser(User user) {this.user = user;}
}
Run Code Online (Sandbox Code Playgroud)
小智 2
改变
@JoinColumn(name="user")
Run Code Online (Sandbox Code Playgroud)
到
@JoinColumn(name="column_name_of_user_id")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6790 次 |
| 最近记录: |