Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.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
Java Hibernate。创建有错误的记录_Java_Spring_Hibernate - Fatal编程技术网

Java Hibernate。创建有错误的记录

Java Hibernate。创建有错误的记录,java,spring,hibernate,Java,Spring,Hibernate,当我尝试创建注释记录时,会出现此错误 org.hibernate.transientObject异常:对象引用未保存的 瞬态实例-刷新前保存瞬态实例 注释实体 public class Annotation implements Identifiable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne @JoinColumn(na

当我尝试创建注释记录时,会出现此错误

org.hibernate.transientObject异常:对象引用未保存的 瞬态实例-刷新前保存瞬态实例

注释实体

public class Annotation implements Identifiable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne
    @JoinColumn(name = "id_user")
    private User profile;

    @Column
    @Temporal(TemporalType.DATE)
    private Date date;

    @Column
    private String name;

    @Column
    private String description;

    // Only getters and setters

}
@Entity
@Table
@Component
public class User implements Identifiable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @Column
    private String email;

    @Column
    private String username;

    @Column
    private String password;

    @Column(nullable = false,columnDefinition = "int default 1")
    @Enumerated(EnumType.ORDINAL)
    private UserRole role = UserRole.ROLE_USER;

    @Column
    private Boolean enabled = Boolean.TRUE;

}
用户实体

public class Annotation implements Identifiable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne
    @JoinColumn(name = "id_user")
    private User profile;

    @Column
    @Temporal(TemporalType.DATE)
    private Date date;

    @Column
    private String name;

    @Column
    private String description;

    // Only getters and setters

}
@Entity
@Table
@Component
public class User implements Identifiable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    @Column
    private String email;

    @Column
    private String username;

    @Column
    private String password;

    @Column(nullable = false,columnDefinition = "int default 1")
    @Enumerated(EnumType.ORDINAL)
    private UserRole role = UserRole.ROLE_USER;

    @Column
    private Boolean enabled = Boolean.TRUE;

}
我知道为了避免这个错误,我必须使用CascadeType.ALL,但之后出现了另一个问题:当我尝试创建注释记录时,自动创建不应该创建的用户记录


如何在新注释记录中添加id_配置文件?

我通过更改

@Column(name="id_user")
    private Long idUser;
实例

@ManyToOne
    @JoinColumn(name = "id_user")
    private User profile;

但我认为这种方式是错误的

我通过改变

@Column(name="id_user")
    private Long idUser;
实例

@ManyToOne
    @JoinColumn(name = "id_user")
    private User profile;

但我认为这种方式是错误的

我也有类似的问题,完全按照他的做法解决:我也有类似的问题,完全按照他的做法解决: