您的位置:首页 > 其它

对于JPA实现的hibernate实体的下划线无法转换问题

2015-10-22 21:04 465 查看
这个问题困扰了我很久,最后终于解决了,废话不多说。

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: