Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Spring boot jpa无法更新postgres数据库上的简单对象_Postgresql_Jpa_Spring Boot_Spring Data - Fatal编程技术网

Postgresql Spring boot jpa无法更新postgres数据库上的简单对象

Postgresql Spring boot jpa无法更新postgres数据库上的简单对象,postgresql,jpa,spring-boot,spring-data,Postgresql,Jpa,Spring Boot,Spring Data,我有一个带postgres数据库的spring boot应用程序 <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.0.0.jre7</version> </dependency> <parent> <group

我有一个带postgres数据库的spring boot应用程序

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <version>42.0.0.jre7</version>
</dependency>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.2.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

听起来像是休眠/映射问题。向我们展示您的
用户
课程。我预计Hibernate无法处理id。为了保存
用户
,它必须首先按id加载,这似乎失败了。我可以保存。这不是一个id问题这是一个更新问题没有问题,我不需要帮助。对不起,如果我听起来很粗鲁,添加了用户classis是db a varchar中的id列还是什么?
public interface UserService extends CrudRepository<User, String> {

    public final static String NORMAL_USER = "ROLE_user";

    public User findByEmail(String email);

    public User findByVerificationToken(String token);

}
@Test
    public void activateUser(){
        User user = new User();
        user.setRegistrationDate(new Date());
        user.setEnabled(false);
        user.setEmail("junit@test.com");
        user.setPassword("12");
        userService.save(user);

        User dbUser = userService.findByEmail("junit@test.com");
        assertFalse(user.isEnabled());
        dbUser.setEnabled(true); 
        userService.save(dbUser); <--- here it dies

        dbUser = null;

        User activatedUser = userService.findByEmail("junit@test.com");
        assertTrue(activatedUser.isEnabled());
    }
@Entity
@Table(name = "users")
public class User implements UserDetails {

    private static final long serialVersionUID = -4009074751138066325L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "id")
    private Long userId;

    @Column(name = "first_name")
    private String firstName;

    @Column(name = "last_name")
    private String lastName;

    @Column(name = "auth_provider")
    private String authProvider;

    @Email
    @NotNull
    @Column(name = "email")
    private String email;

    @Column(name = "dob")
    private String dob;

    @Column(name = "doc_type")
    private String documentType;

non args constructor and getters/setters
}