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

这个问题困扰了我很久,最后终于解决了,废话不多说。


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);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值