【问题标题】:The method save(User) is undefined for the type UserRepositoryTests未定义 UserRepositoryTests 类型的方法 save(User)
【发布时间】:2022-01-23 07:46:41
【问题描述】:

我刚刚开始学习和试验 spring-boot 和 hibernate,我似乎无法弄清楚这个问题。

package net.codejava;

import static org.assertj.core.api.Assertions.assertThat;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase;
import org.springframework.boot.test.autoconfigure.jdbc.AutoConfigureTestDatabase.Replace;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import org.springframework.test.annotation.Rollback;

@DataJpaTest
@AutoConfigureTestDatabase(replace = Replace.NONE)
@Rollback(false)


public class UserRepositoryTests {
    
    @Autowired
    private UserRepositoryTests repo;
    
    @Autowired
    private TestEntityManager entityManager;
    
    @Test
    public void testCreateUser() {
        User user = new User();
        user.setEmail("xyz@gmail.com");
        user.setPassword("XYZ!@#");
        user.setFirstname("XYZ");
        user.setLastname("PQR");
        user.setUsername("XZY");
         
        User savedUser = repo.save(user);  
        User existUser = entityManager.find(User.class, savedUser.getIdUser());      
        assertThat(user.getEmail()).isEqualTo(existUser.getEmail());
         
    }


}

第 38 行有一些错误(即,User savedUser = repo.save(user);) 是说“UserRepositoryTests 类型的方法 save(User) 未定义”

用户.java

package net.codejava;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idUser;
    
    @Column(nullable = false,unique=true,length = 45)
    private String email;
    
    @Column(nullable = false,unique=true,length = 45)
    private String firstname;
    
    @Column(nullable = false,unique=true,length = 45)
    private String lastname;
    
    @Column(nullable = false,unique=true,length = 45)
    private String username;
    
    @Column(nullable = true)
    private String IPaddress;
    
    @Column(nullable = false,length = 64)
    private String password;
    
    
    public Long getIdUser() {
        return idUser;
    }
    public void setIdUser(Long idUser) {
        this.idUser = idUser;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getFirstname() {
        return firstname;
    }
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
    public String getLastname() {
        return lastname;
    }
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getIPaddress() {
        return IPaddress;
    }
    public void setIPaddress(String iPaddress) {
        IPaddress = iPaddress;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    
}

UserRepository.java

package net.codejava;

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {

}

请告诉我该怎么做。

【问题讨论】:

  • 您的第二个“src”文件夹中有什么?您的“目标”文件夹上方还有另一个 src 文件夹。
  • 我相信您想自动装配 UserRepository 接口,而是自动装配 UserRepositoryTests 类。由于错误表明没有为 UserRepositoryTests 类定义保存方法。
  • 是的,这正是问题所在!谢谢。

标签: java spring spring-boot hibernate jpa


【解决方案1】:

问题是 UserRepositoryTests 它应该是 UserRepository。

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 2013-09-13
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2019-04-14
    • 2015-06-10
    • 2021-08-21
    相关资源
    最近更新 更多