Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.1k views
in Technique[技术] by (71.8m points)

hibernate - Spring data - Save Entity with predefined child entities

I have entities ( Email , Sender. New sender entities cannot be created.)

@Entity
Class Email {

@GeneratedValue(strategy=GenerationType.IDENTITY)
    @Id
    @Column(name="id")
    private Integer id;

  @column(name="subject")
private String subject;

@OneToOne
@JoinColumn(name = "sender" , nullable=false, referencedColumnName = "senderId")
private Sender sender;


}

@Entity
Class Sender {

    @Id
    @Column(name="senderId")
    private Integer senderId;

    @Column(name="senderName")
    private String senderName;
}

I have to persist the email entity using JPA . I get data from the JSON and JSON does not contain any primary or foreign key ID's

{ "subject" : "Blah Blah", 
  "sender" : "SenderName" }




Email obj = new Email().
obj.setSubject( "Blah Blah");

Sender sen = new Sender(); // This is wrong -  I have to get the one in DB. Not create
                           //   senderRepository.findBySenderName("senderName")
sen.setName("SenderName")

obj.setSender(sen);

emailRepository.save( obj )

Please guide me. How can I save mail entities when only senderName is available. Is my entity structure wrong ?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...