abd*_*ady 6 java hibernate jpa
我在jpa中更新对象时遇到问题
我有bean用户
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, nullable = false)
private Long id;
@Column(name = "name", nullable = false)
private String name;
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(name = "fk_program_rating")
private List<Rating> ratingList = new ArrayList<Rating>();
}
Run Code Online (Sandbox Code Playgroud)
和
public class Rating extends BaseModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", unique = true, nullable = false)
private Long id;
@ManyToOne()
@JoinColumn(name = "fk_program_rating", nullable = false)
@ForeignKey(name = "FK_prog_rate")
@OnDelete(action = OnDeleteAction.CASCADE)
private Program program;
}
Run Code Online (Sandbox Code Playgroud)
当尝试更新时给我异常:无法通过表评级有行时发生的反射获得字段值
错误TransactionInterceptor:434 - 由提交异常覆盖的应用程序异常com.vodafone.visradio.dataaccess.exception.DataAccessException:org.hibernate.PropertyAccessException:无法通过com.vodafone.visradio.dataaccess.model.Rating的反射getter获取字段值. .ID
关于这个问题的任何帮助
谢谢
尝试更改映射注释.@JoinColumn
从中删除注释ratingList
并添加mappedBy
属性:
@OneToMany(fetch = FetchType.EAGER, mappedBy = "user")
private List<Rating> ratingList = new ArrayList<Rating>();
Run Code Online (Sandbox Code Playgroud)
其中user
是与之关联的Rating
实体中的属性名称.@ManyToOne
User
归档时间: |
|
查看次数: |
20006 次 |
最近记录: |