@可嵌入@manytone Hibernate和CascadeType.ALL

@可嵌入@manytone Hibernate和CascadeType.ALL,hibernate,Hibernate,我试图用@EmbeddedId实现复合标识符。运行下面的主方法时,dummy1表插入了数据。dummy3表中没有插入任何记录。在dummy3表中插入数据需要进行哪些更改?。请查找以下课程以供参考 Dummy1.java @Entity(name="Dummy1") public class Dummy1 { private String name; @EmbeddedId private Dummy2 dummy2; //Getters and sette

我试图用@EmbeddedId实现复合标识符。运行下面的主方法时,dummy1表插入了数据。dummy3表中没有插入任何记录。在dummy3表中插入数据需要进行哪些更改?。请查找以下课程以供参考

Dummy1.java

@Entity(name="Dummy1")
public class Dummy1 {

    private String name;

    @EmbeddedId
    private Dummy2 dummy2;

     //Getters and setters are omitted for brevity
}
Dummy2.java

@Embeddable
public class Dummy2 implements Serializable {

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name="id")
    private Dummy3 d3;

    @Column(name="State")
    private String state;

    @Column(name="city")
    private String city;
//Getters and setters are omitted for brevity

}
Dummy3.java

@Entity(name="Dummy3")
public class Dummy3 {

    @Id
    private int id;

    private String name;

    private String lastName;

//Getters and setters are omitted for brevity
}
Main.java

public static void main(String[] args) {
        StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
                .configure("/resources/hibernate.cfg.xml")
                .build();

        factory = new MetadataSources(registry)
                .buildMetadata()
                .buildSessionFactory();

        session=factory.openSession();


        session.getTransaction().begin();

        Dummy1 a=new Dummy1();
        a.setName("aaaa");

        Dummy2 b=new Dummy2();
        b.setCity("aaa");
        b.setState("bbb");

        Dummy3 c=new Dummy3();
        c.setId(1);
        c.setName("ddd");
        c.setLastName("dddd");

        b.setD3(c);
        a.setDummy2(b);

        session.persist(a);
        session.getTransaction().commit();
        session.close();

    }

您的用例是什么?通过创建具有外键的主键,您试图做什么?@K.Nicholas我试图实现示例149您应该持久化Dummy3实体。我在dummy2中添加了@ManyTone(cascade=CascadeType.ALL)的可能副本。那不是也一样吗?有没有其他方法可以在不显式持久化的情况下持久化它?