Привет, я разрабатываю веб-приложение с использованием весны mvc 3 и hibernate 4. Я использую аннотации для всех конфигураций.Получение неожиданного токена ERROR в Hibernate 4
При попытке выбрать объект, я получаю ошибку:
DaoException: unexpected token: MEMBER near line 1, column 37 [from clanwar.model.ClanMember where MEMBER = :member]
at clanwar.dao.impl.ClanMemberDao.findByPlayerId(ClanMemberDao.java:71)
Если я делаю запрос с .createSQLQuery()
спящего режима вернуть мне Object[]
экземпляр ClanMember
лица.
метод в DAO:
@Repository
@Transactional
...
@Override
public ClanMember findByPlayerId(int id) throws DaoException {
ClanMember foundMember;
try {
foundMember = (ClanMember) getSession()
.createQuery("from ClanMember where MEMBER = :member")
.setParameter("member", id)
.uniqueResult();
} catch (Exception e) {
throw new DaoException(e.getMessage());
}
return foundMember;
}
...
Entity:
@Entity
@Table(name = "CLAN_MEMBERS")
public class ClanMember implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@ManyToOne
@JoinColumn(name = "CLAN")
private Clan clan;
@Id
@ManyToOne
@JoinColumn(name = "MEMBER")
private Player member;
@ManyToOne
@JoinColumn(name = "ROLE")
private ClanRole role;
public ClanMember() {}
// Setters and getters
}
Таблица CLAN_MEMBERS:
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
| CLAN | int(11) | NO | PRI | NULL | |
| MEMBER | int(11) | NO | PRI | NULL | |
| ROLE | int(11) | NO | | 1 | |
+--------+---------+------+-----+---------+-------+
Что я делаю неправильно? Спасибо заранее.
использовать Try псевдоним 'от ClanMember см, где cm.member.id =: member' –