Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 在JPA中使用继承和manytone关系时如何级联删除_Java_Mysql_Hibernate_Jpa - Fatal编程技术网

Java 在JPA中使用继承和manytone关系时如何级联删除

Java 在JPA中使用继承和manytone关系时如何级联删除,java,mysql,hibernate,jpa,Java,Mysql,Hibernate,Jpa,我正在用spring实现一个简单的用户管理系统。为了获得更好的模型结构,我使用了继承。该系统基于三个类构建。保存一般信息的userdata类。继承和扩展用户类的父类类,最后是保存父对象的子类 我想做的是通过删除parent对象来删除所有子对象(指父对象) 我已经能够通过我的视图在mySQL数据库中保存/删除对象,因此存储库/服务/控制器似乎可以工作 为了让您更好地了解我的情况,我在下面添加了一些代码 我的用户类别: @Entity @Inheritance(strategy = Inherita

我正在用spring实现一个简单的用户管理系统。为了获得更好的模型结构,我使用了继承。该系统基于三个类构建。保存一般信息的
userdata
类。继承和扩展用户类的
父类
类,最后是保存父对象的
子类

我想做的是通过删除
parent
对象来删除所有子对象(指父对象)

我已经能够通过我的视图在mySQL数据库中保存/删除对象,因此存储库/服务/控制器似乎可以工作

为了让您更好地了解我的情况,我在下面添加了一些代码

我的
用户
类别:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class UserData implements Persistable<String> {

private static final long serialVersionUID = 1L;

@Id
@NotNull
private String username;
@NotNull
private String password;
@NotNull
private String firstName;
@NotNull
private String lastName;
我的
子类
包含父对象的类

@Entity
@Transactional
public class Child implements Persistable<Long> {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
private String firstName;
@NotNull
private String lastName;
@NotNull
private String birthday;
@NotNull
@ManyToOne(optional = false)
private Parent parent1;
@实体
@交易的
公共类子级实现持久化{
私有静态最终长serialVersionUID=1L;
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
私人长id;
@NotNull
私有字符串名;
@NotNull
私有字符串lastName;
@NotNull
私人串生日;
@NotNull
@多通(可选=假)
私人家长1;

希望任何人都能告诉我,我是如何在我的系统中实现级联删除的。

通过设置子项将级联添加到@OneToMany注释中的。

你能尝试添加
级联={CascadeType.PERSIST}
@OneToMany
注释中?@DarshanMehta我得到
类org.springframework.dao.DataIntegrityViolationException
…也许我也需要在
多通中添加一些东西?是的,你能尝试在这两个中添加
级联类型.持久化
吗?我已经添加了,但没有成功。。
@Entity
@Transactional
public class Child implements Persistable<Long> {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@NotNull
private String firstName;
@NotNull
private String lastName;
@NotNull
private String birthday;
@NotNull
@ManyToOne(optional = false)
private Parent parent1;