我有以下几种实体
cotxawn71#
@Entity@Table(name = "B")public class B { @ManyToOne( fetch = FetchType.LAZY, cascade = { CascadeType.ALL } ) @JoinColumn( name = "A_ID" ) private A a; //bi-directional one-to-many association to C @OneToMany( mappedBy = "b", cascade = { CascadeType.ALL }, fetch = FetchType.LAZY ) private List<C> c = new ArrayList<>(); public void add_C(C c) { this.c.add(c); c.setB(this); }}
@Entity
@Table(name = "B")
public class B {
@ManyToOne( fetch = FetchType.LAZY, cascade = { CascadeType.ALL } )
@JoinColumn( name = "A_ID" )
private A a;
//bi-directional one-to-many association to C
@OneToMany( mappedBy = "b", cascade = { CascadeType.ALL }, fetch = FetchType.LAZY )
private List<C> c = new ArrayList<>();
public void add_C(C c) {
this.c.add(c);
c.setB(this);
}
v1uwarro2#
---------a的Map器
pu3pd22g3#
------实体b
dojqjjoe4#
-------实体c
ocebsuys5#
@Entity@Table(name = "A")public class A { //bi-directional one-to-many association to B @OneToMany( mappedBy = "a", cascade = { CascadeType.ALL }, fetch = FetchType.LAZY ) private List<B> b = new ArrayList<>(); public void add_B(B b) { this.b.add(b); b.setA(this); }}
@Table(name = "A")
public class A {
//bi-directional one-to-many association to B
@OneToMany( mappedBy = "a", cascade = { CascadeType.ALL }, fetch = FetchType.LAZY )
private List<B> b = new ArrayList<>();
public void add_B(B b) {
this.b.add(b);
b.setA(this);
eqfvzcg86#
@Entity@Table(name = "C")public class C { @ManyToOne( fetch = FetchType.LAZY, cascade = { CascadeType.ALL } ) @JoinColumn( name = "B_ID" ) private B b;}
@Table(name = "C")
public class C {
@JoinColumn( name = "B_ID" )
private B b;
wn9m85ua7#
--实体a
kcrjzv8t8#
@Mapper( componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.WARN)public abstract class A_Mapper { public abstract A toEntity(DTO_A dto_a); @AfterMapping public void mapToEntity(@MappingTarget A a) { List<B> bs = new ArrayList<>(a.getB()); for (B b: bs) { a.add_B(b); for (C c: b.getC() { b.add_C(c); } }}
@Mapper(
componentModel = "spring",
unmappedTargetPolicy = ReportingPolicy.WARN
)
public abstract class A_Mapper {
public abstract A toEntity(DTO_A dto_a);
@AfterMapping
public void mapToEntity(@MappingTarget A a)
{
List<B> bs = new ArrayList<>(a.getB());
for (B b: bs) {
a.add_B(b);
for (C c:
b.getC() {
b.add_C(c);
保存实体a后,a的id应设置为b项,b的id应设置为c项。但是抛出了一个“nullpointer异常”。有人能告诉我怎么修吗。如何修改代码,使a和b的id都设置为c?提前谢谢
8条答案
按热度按时间cotxawn71#
v1uwarro2#
---------a的Map器
pu3pd22g3#
------实体b
dojqjjoe4#
-------实体c
ocebsuys5#
eqfvzcg86#
wn9m85ua7#
--实体a
kcrjzv8t8#
保存实体a后,a的id应设置为b项,b的id应设置为c项。但是抛出了一个“nullpointer异常”。有人能告诉我怎么修吗。如何修改代码,使a和b的id都设置为c?提前谢谢