Подскажите, пожалуйста, в чем может быть проблема. После запуска spring-boot приложения и попытки аутентификации, появляется exception:
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [from User u where u.username = :username]
Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped
Класс User:
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
import javax.persistence.*;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
@Entity
@Table(name = "users")
public class User implements UserDetails {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(unique = true)
private String name;
private String username;
private String password;
@ManyToMany(fetch = FetchType.EAGER, targetEntity = Role.class, cascade=CascadeType.ALL)
@JoinTable(name = "users_role")
private Set<Role> roles = new HashSet<>();
public User() {
}
public User(int id, String name, String password, Set<Role> roles) {
this.id = id;
this.name = name;
this.password = password;
this.roles = roles;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
return roles;
}
@Override
public String getPassword() {
return password;
}
@Override
public String getUsername() {
return username;
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
public void setPassword(String password) {
this.password = password;
}
public Set<Role> getRoles() {
return roles;
}
public void setRoles(Set<Role> roles) {
this.roles = roles;
}
public String getRolesToString(){
StringBuilder sb = new StringBuilder();
for (Role i : roles){
sb.append(i.getRole() + " ");
}
return String.valueOf(sb);
}
}
Класс UserDetailsServiceImpl
package crud.serivce;
import crud.model.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@Service
public class UserDetailsServiceImpl implements UserDetailsService {
@PersistenceContext
EntityManager entityManager;
@Override
public UserDetails loadUserByUsername(String s) throws UsernameNotFoundException {
return entityManager.createQuery("from User u where u.username = :username", User.class)
.setParameter("username", s).getSingleResult();
}
}
pom.xml
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
<type>pom</type>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-security -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.3.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
<version>2.3.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-thymeleaf -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>2.3.4.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.21</version>
</dependency>
getSingleResult() дает такую ошибку, когда запрос возвращает ноль строк.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Всем добрый вечер, в процессе проекта у меня возникла потребность работать с архивами через ZipFile Вообщем, суть проблемы заключается в том,что...
задумался сделать большой проект для резюмеСам проект это приложение для контроля рабочих:
Пробовал сделать страницу с помощью pythonНашёл как сделать это множеством принтов и захотел попробовать все их объединить в один