One-to-Many One-Way Parent Child ID Cascade Save

When I try to save the ID from my parent class to a child class, I continue to get the error "ERROR - field" parent_id "has no default value"

I tried all types of mappings. I use annotations.

Any help on this would be appreciated.

Parent:

      @Id
      @Column(name="id")
      @GeneratedValue(strategy=GenerationType.AUTO)
      private long id;
      @Column(name="description")
      private String description;
      @OneToMany
      @Cascade(value= {org.hibernate.annotations.CascadeType.SAVE_UPDATE, org.hibernate.annotations.CascadeType.DELETE})
      @JoinColumn(name="parent_id")
      private List<Child> children;

Child:

  @Id
  @Column(name="id")
  @GeneratedValue(strategy=GenerationType.AUTO)
  private long id;
  @Column(name="description")
  private String description;

Thanks.

+3
source share
5 answers

- , , . , . , @Column , , , JPA @OneToMany Hibernate @Cascade. runnable example , . git maven, :

git clone git://github.com/zzantozz/testbed tmp
cd tmp
mvn -q compile exec:java \
    -Dexec.mainClass=rds.hibernate.UnidirectionalManyToOneJoinColumn \
    -pl hibernate-unidirectional-one-to-many-with-join-column

, , . :

Creating parent with two children
Loading saved parent
Parent{description='parent', children=[Child{description='child 2'}, Child{description='child 1'}]}
+6

, - .

, Hibernate 4.1.8, FieldChange, :

@Entity
public class Event {

    //ID and other fields here

    @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "event_id")
    private List<FieldChange<?>> fields = new ArrayList<FieldChange<?>>();

 }

insert event_id, - event_id , .

, , @JoinColumn :

@JoinColumn(name = "event_id", nullable = false)

insert event_id, , .

Hibernate, , , -.

+11

JPA db. . , . , NOT NULL . :

  • NOT NULL
  • JPA , .
+4

@OneToMany @OneToMany(cascade=CascadeType.ALL) JPA, Hibernate

+1

, @JoinColumn annotation a referencedColumnName.

@JoinColumn(name = "parent_id", referencedColumnName = "id")
0

Source: https://habr.com/ru/post/1722170/


All Articles