java – 一对多单向父子ID级联保存
发布时间:2020-12-15 02:05:49 所属栏目:Java 来源:网络整理
导读:当我尝试将ID从父类保存到子类时,我不断收到错误 “错误 – 字段’parent_id’没有默认值” 我尝试了所有类型的映射.我正在使用注释. 任何有关这方面的帮助将不胜感激 家长: @Id @Column(name="id") @GeneratedValue(strategy=GenerationType.AUTO) private
当我尝试将ID从父类保存到子类时,我不断收到错误
“错误 – 字段’parent_id’没有默认值” 我尝试了所有类型的映射.我正在使用注释. 任何有关这方面的帮助将不胜感激 家长: @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; 儿童: @Id @Column(name="id") @GeneratedValue(strategy=GenerationType.AUTO) private long id; @Column(name="description") private String description; 谢谢. 解决方法
你必须在其他地方出错,因为这些映射将以它们的方式运行.他们可能会更好,但他们会工作.具体来说,所有@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'}]} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |