概述
这个问题困扰了我很久,最后终于解决了,废话不多说。
User这个实体类里面有如下
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "accounts_id")
public Accounts getAccounts() {
return this.accounts;
}
这时候如果 我在action里面调用了
User user = userService.getByProperties("accounts_id", account.getId());
就会报错
could not resolve property: accounts_id of: com.pwq.entity.User [select o from com.pwq.entity.User o where 1=1 and o.accounts_id=:accounts_id]
但是改成下面的就OK了
User user = userService.getByProperties("accounts.id", account.getId());
如果实体里面带下划线的字段是一个基本对象如Integer、String等,如
@Column(name = "test_id")
public Integer getTestId() {
return this.testId;
}
因为和hibernate的映射机制有关的,所以把abc_def改成abcDef就可以了
List<Testtable> tb0 = testtablesr.criteriaEqeals("testId", 321);
最后
以上就是神勇乌冬面为你收集整理的对于JPA实现的hibernate实体的下划线无法转换问题的全部内容,希望文章能够帮你解决对于JPA实现的hibernate实体的下划线无法转换问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复