0

我有表用户,其中包含列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();

它会找到特定的对象。

任何想法如何解决这个问题?

4

1 回答 1

2

持久属性的名称区分大小写。因为属性的名称是idUser,所以预计iduser找不到属性(小写“u”)。当使用 Criteria 或 HQL 时,重要的是属性名称,而不是数据库列的名称。

于 2013-02-03T17:47:16.907 回答