Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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 Can';t为实体设置多个一个一个,具有双重持久性 @存储库 公共接口RoomRepository扩展了Crudepository{ } 从RoomServiceImpl保存: @凌驾 公共房间储藏室(房间){ 返回roomRepository.save(房间); }_Java_Hibernate_Spring Data Jpa_Many To One - Fatal编程技术网

Java Can';t为实体设置多个一个一个,具有双重持久性 @存储库 公共接口RoomRepository扩展了Crudepository{ } 从RoomServiceImpl保存: @凌驾 公共房间储藏室(房间){ 返回roomRepository.save(房间); }

Java Can';t为实体设置多个一个一个,具有双重持久性 @存储库 公共接口RoomRepository扩展了Crudepository{ } 从RoomServiceImpl保存: @凌驾 公共房间储藏室(房间){ 返回roomRepository.save(房间); },java,hibernate,spring-data-jpa,many-to-one,Java,Hibernate,Spring Data Jpa,Many To One,我的行动顺序是什么 @Repository public interface RoomRepository extends CrudRepository<Room, Long> { } From RoomServiceImpl save: @Override public Room saveRoom(Room Room) { return roomRepository.save(Room); } 1。List-sponsorStarts=ne

我的行动顺序是什么

@Repository
public interface RoomRepository extends CrudRepository<Room, Long> {

}

From RoomServiceImpl save:
  @Override
    public Room saveRoom(Room Room) {
        return roomRepository.save(Room);
    }
1。List-sponsorStarts=new-ArrayList();
2.房间=新房间();
3.giveRoom.SetponsorsStart(赞助商启动)//设定赞助商名单表p.1
4.赠品室服务。储藏室(房间)//节省空间
并且启动数据库为空。 我尝试先保存列表中的每个sposorStart,但它们在room_id列中以null保存。 对不起,我知道这应该很简单,但在我的情况下,我做错了什么。 谢谢

  • 您应该移动
    cascade=CascadeType。您关联的
    @OneToMany
    端的所有
  • @OneToMany(mappedBy=“Room”,fetch=FetchType.EAGER,cascade=CascadeType.ALL)
    私有列表发起人start=new ArrayList();
    
  • 您应该同步双向关联的两侧:
  • List-sponsorStarts=new-ArrayList();
    SponsorStart sponsorStart1=新的SponsorStart();
    sponsorStarts.add(sponsorStart1);
    // ...
    房间=新房间();
    //同步关联的双方
    发起人开始1.设置室(房间);
    会议室设置发起人启动(发起人启动)//设定赞助商名单表p.1
    房间。储藏室(房间)//节省空间
    
    另请参见hibernate文档的第1部分

  • 您应该移动
    cascade=CascadeType。您关联的
    @OneToMany
    端的所有
  • @OneToMany(mappedBy=“Room”,fetch=FetchType.EAGER,cascade=CascadeType.ALL)
    私有列表发起人start=new ArrayList();
    
  • 您应该同步双向关联的两侧:
  • List-sponsorStarts=new-ArrayList();
    SponsorStart sponsorStart1=新的SponsorStart();
    sponsorStarts.add(sponsorStart1);
    // ...
    房间=新房间();
    //同步关联的双方
    发起人开始1.设置室(房间);
    会议室设置发起人启动(发起人启动)//设定赞助商名单表p.1
    房间。储藏室(房间)//节省空间
    

    另请参阅hibernate文档。

    我说过这很简单)我应该设置为彼此的实体,然后保存它!谢谢,添加
    addSponsorStart()
    removeSponsorStart()
    实用程序方法会更加优雅,每当添加或删除子元素时,这些实用程序方法都会同步两端(请参见文档参考部分中的示例)。我告诉过这很简单)我应该设置到其他实体中,然后保存它!感谢您,添加
    addSponsorStart()
    removeSponsorStart()
    实用程序方法将更加优雅,这些方法可以在添加或删除子元素时同步两端(请参见文档参考部分中的示例)。
    @Entity
    @Table(name = "sponsors_start")
    public class SponsorStart {
        @Id
        @GeneratedValue(strategy = GenerationType.AUTO)
        private Long id;
        @Column
        private String username;
        @ManyToOne(cascade=CascadeType.ALL)
        @JoinColumn(name = "room_id")
        private Room Room;
    
    @Repository
    public interface RoomRepository extends CrudRepository<Room, Long> {
    
    }
    
    From RoomServiceImpl save:
      @Override
        public Room saveRoom(Room Room) {
            return roomRepository.save(Room);
        }
    
    1. List<SponsorStart> sponsorStarts = new ArrayList<>();
    2. Room room = new Room();
    3. giveRoom.setSponsorsStart(sponsorStarts); //set list of sponsors form p.1
    4. giveRoomService.saveRoom(room); //save room