我的表用户包含列iduser
(长)fk - >表登录到列id_user
(长)。
但我不想将表登录映射到用户。我只想在像普通列这样的用户中使用此列iduser
并找到特定对象。
当我写这样的东西时:
...
criteria.add(Restrictions.eq(ID_USER, (long) 3);
...
将出现错误:
无法解析属性:iduser:model.domain.User
但是当我使用标准SQLQuery
时:
Query query = session.createSQLQuery("select * from Users where iduser = 3");
List list = query.list();
它会找到特定的对象。
任何想法如何解决这个问题?
答案 0 :(得分:2)
持久性属性的名称区分大小写。由于属性的名称为idUser
,因此无法找到属性iduser
(小写'u')。使用Criteria或HQL时,它是属性的名称,而不是重要的数据库列的名称。