我刚开始使用Spring和JPA/Hibernate,我会拔下我的头发。
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import java.util.Date;
@Entity
@Table(name = "user")
public class User {
@Id
private String email;
@NotNull
private String nomUtilisateur;
@NotNull
private Date dateInscription;
@NotNull
private long nbSoireeOrganisee;
@NotNull
private float noteGenerale;
public User(String aEmail, String aNomUtilisateur) {
email = aEmail;
nomUtilisateur = aNomUtilisateur;
dateInscription = new Date();
nbSoireeOrganisee = 0;
noteGenerale = 0;
}
public User() {
// Only JPA
}
public String getUserEmail() {
return email;
}
public String getUserName() {
return nomUtilisateur;
}
public Date getDateInscription() {
return dateInscription;
}
public long getNbSoireeOrganisee() {
return nbSoireeOrganisee;
}
public float getNoteGenerale() {
return noteGenerale;
}
@Override
public String toString() {
return String.format("User[name='%s']", this.nomUtilisateur);
}
}
import fr.afti.proto.fact.models.User;
import org.springframework.data.jpa.repository.JpaRepository;
import javax.transaction.Transactional;
@Transactional
public interface UserRepository extends JpaRepository<User, String> {
User findByNomUtilisateur(String nomUtilisateur);
}
这是我的usercontroller
:
import fr.afti.proto.fact.models.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@RestController
@CrossOrigin
public class UserController {
@Autowired
private UserRepository userRepository;
// CREATE User
// This function works
@PostMapping("/create/{aEmail}/{aNomUtilisateur}")
public String create(@PathVariable String aEmail, @PathVariable String aNomUtilisateur) {
try {
User newUser = new User(aEmail, aNomUtilisateur);
userRepository.saveAndFlush(newUser);
} catch (Exception ex) {
return "Error when trying to create a user";
}
return "User successfully created";
}
// DELETE User
// This function doesn't work
@DeleteMapping("/delete/user/{email}")
public String delete(@PathVariable String email) {
userRepository.delete(email);
return "true";
}
// READ User
// This funcction doesn't work
@GetMapping("user/{email}")
public
@ResponseBody
String getUserByMail(@PathVariable String email) {
User uRes = userRepository.findOne(email); // THIS RETURN NULL
//User uRes = userRepository.findByNomUtilisateur("Toto");
return uRes.getUserName();
}
}
谢谢你的帮助。
您的代码有一些小问题:
为了使用实体的属性查询实体,它至少需要那些属性的getter。因此添加email
属性:
...
public String getUserEmail() {
return email;
}
...
如果向当前控制器发送Get
请求:
GET localhost:8080/user/test@example.com
@DeleteMapping("/delete/user/{email:.+}")
...
@GetMapping("user/{email:.+}")
...
@GetMapping("user")
public String getUserByMail2(@RequestParam("email") String email) {
User uRes = userRepository.findOne(email); // THIS RETURN NULL
return uRes.getUserName();
}
并使用:
GET localhost:8080/user?email=test%40example.com
请参阅此处获得完整的工作示例。
主类: 我尝试的任何与存储库相关的方法都返回null。有人能帮我提个建议吗?
此示例存储库有一个方法 现在不需要使用Robolectric来单元测试了吗?
我试图获取一个列表从数据库和findAll()返回空列表。我有多个jpa存储库,但只有一个不工作。这是代码: 这就是实体: 当我调用product类别epository.findAll()时,它返回空列表,因此我在数据库中有许多条目。谢谢你的帮助!
java java 在TaskServiceImpl.java.FindAll(pageRequest)中返回NULL。我不太熟悉Mockito,想知道用它创建模拟存储库是否会导致问题?当我这样做时,它工作得很好。findall()没有分页。我使用PagingAndSortingRepository中的findAll(Pageable)方法有问题吗?谢了!
谢谢 代码如下:
问题内容: 目前正被此错误推高。 我正在使用mongodb的mongojs包装器运行node.js应用程序。我在默认端口上启动mongod,然后运行 但是err和user都为“ null”。据我所知,err应该填充某种数据,即使找不到任何东西。 如何使回调函数正常工作?请原谅新手问题。 问题答案: 当查询找不到至少一个匹配的文档时,则将回调的第二个参数(在这种情况下)设置为。这不是错误,也是。因此