Hibernate 更新父实体插入新条目
我有一个Hibernate 更新父实体插入新条目,hibernate,jpa,inheritance,hibernate-mapping,Hibernate,Jpa,Inheritance,Hibernate Mapping,我有一个濒危鱼类实体,它扩展了具有联合继承类型的鱼类实体 一段时间后,我们想将鱼更新为濒危鱼(带有物种数左侧字段) 这会在濒危鱼类表中插入一个新条目(如预期的那样),但也会在鱼类表中插入一个新条目,我不希望这样做 我想知道我的案例是否适合实体继承,或者我应该只使用一个FISH表,在开始时带有nullnumbOfSpeciesLeft字段,然后更新它 @Entity @Inheritance(strategy=InheritanceType.JOINED) public class Fish {
濒危鱼类
实体,它扩展了具有联合继承类型的鱼类
实体
一段时间后,我们想将鱼
更新为濒危鱼
(带有物种数左侧
字段)
这会在濒危鱼类
表中插入一个新条目(如预期的那样),但也会在鱼类
表中插入一个新条目,我不希望这样做
我想知道我的案例是否适合实体继承,或者我应该只使用一个FISH
表,在开始时带有null
numbOfSpeciesLeft
字段,然后更新它
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Fish {
@Id
@GeneratedValue
private Long id;
private String name;
private Integer numOfFins;
private String color;
@ManyToOne
@JoinColumn
private Environment environment;
@OneToMany
@JoinColumn
private String parts
}
@Entity
public class EndangeredFish extends Fish {
Integer numOfFishLeft;
}
我想知道我的案例是否适合实体继承,或者我应该只使用一个FISH表,在开始时带有null
numbOfSpeciesLeft字段,然后更新它
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Fish {
@Id
@GeneratedValue
private Long id;
private String name;
private Integer numOfFins;
private String color;
@ManyToOne
@JoinColumn
private Environment environment;
@OneToMany
@JoinColumn
private String parts
}
@Entity
public class EndangeredFish extends Fish {
Integer numOfFishLeft;
}
不,这不适合继承。如果您有一个实例在其生命周期中基本上应该更改其类型,那么您使用的继承是错误的
numbOfSpeciesLeft
的null
值听起来是一个合理的开始。如果您有更多信息需要跟踪,它可能会演变为对濒危信息的可选引用。可以映射为一对一关系或可嵌入关系
我想知道我的案例是否适合实体继承,或者我应该只使用一个FISH表,在开始时带有null
numbOfSpeciesLeft字段,然后更新它
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Fish {
@Id
@GeneratedValue
private Long id;
private String name;
private Integer numOfFins;
private String color;
@ManyToOne
@JoinColumn
private Environment environment;
@OneToMany
@JoinColumn
private String parts
}
@Entity
public class EndangeredFish extends Fish {
Integer numOfFishLeft;
}
不,这不适合继承。如果您有一个实例在其生命周期中基本上应该更改其类型,那么您使用的继承是错误的
numbOfSpeciesLeft
的null
值听起来是一个合理的开始。如果您有更多信息需要跟踪,它可能会演变为对濒危信息的可选引用。可以映射为一对一关系或可嵌入关系。您可以共享实体类吗?您可以共享实体类吗?