我遇到了这样的问题,不知道如何解决。问题是下一个:我有下一个模型:
@Entity(name="Authority")
@Table(name="AUTHORITIES")
public class Authority implements GrantedAuthority {
@Id
private long id;
@Enumerated(EnumType.STRING)
@Column(name="authority")
private asdevelopment.action.enums.Authority authority;
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
public String getAuthority() {
return authority.toString();
}
/**
* @return the id
*/
public long getId() {
return id;
}
}
public enum Authority {
CLIENT_ROLE, ADMIN_ROLE;
}
我可以毫无问题地保存权限并通过 ID 获取。但是就像我在存储库中调用下一个方法一样:
domain.Authority findByAuthority(enums.Authority authority);
我得到下一个例外:
Hibernate: select top ? authority0_.id as id1_, authority0_.authority as authority1_ from AUTHORITIES authority0_ where authority0_.authority=?
13:48:01.125 WARN [main] org.hibernate.engine.jdbc.spi.SqlExceptionHelper:143 - SQL Error: 1064, SQLState: 42000
13:48:01.125 ERROR [main] org.hibernate.engine.jdbc.spi.SqlExceptionHelper:144 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2 authority0_.id as id1_, authority0_.authority as authority1_ from AUTHORITIES ' at line 1