Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.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-如何向ElementCollection中的项添加引用/外键?_Java_Hibernate_Jpa - Fatal编程技术网

Java JPA-如何向ElementCollection中的项添加引用/外键?

Java JPA-如何向ElementCollection中的项添加引用/外键?,java,hibernate,jpa,Java,Hibernate,Jpa,假设以下数据模型: 宠物主人有一只宠物 宠物能玩很多把戏 宠物主人可以参加一场表演,他的宠物只能表演他最好的把戏 该协会如下所示。请注意,“技巧”是一组用@ElementCollection标记的字符串,因为在本例中,将技巧作为单独的实体进行管理是没有意义的(我们只关心技巧的名称): @实体 宠物主人{ @Id字符串名称; @OneTONE宠物; } @实体 等级宠物{ @Id字符串名称; @元素集合技巧; } @实体 班级申请者{ @Id整数showId; @许多宠物主人; //....//

假设以下数据模型:

  • 宠物主人有一只宠物
  • 宠物能玩很多把戏
  • 宠物主人可以参加一场表演,他的宠物只能表演他最好的把戏
  • 该协会如下所示。请注意,“技巧”是一组用
    @ElementCollection
    标记的字符串,因为在本例中,将技巧作为单独的实体进行管理是没有意义的(我们只关心技巧的名称):

    @实体
    宠物主人{
    @Id字符串名称;
    @OneTONE宠物;
    }
    @实体
    等级宠物{
    @Id字符串名称;
    @元素集合技巧;
    }
    @实体
    班级申请者{
    @Id整数showId;
    @许多宠物主人;
    //....//
    //这里有什么
    字符串三角字符;
    }
    

    我想将
    petshowapplicator.trickToPerform
    owner.pet.tricks
    关联,以确保它引用由
    @ElementCollection
    创建的联接表“pet_tricks”-这可能吗?感谢您抽出时间

    最好为tricks nowHi创建一个实体。如果我要为技巧创建一个实体,我如何从PetshowAppender引用和验证?我希望确保我的技巧属于正确的所有者,然后创建一个PetTrickOwner实体
    @Entity
    class PetOwner {
        @Id String name;
        @OneToOne Pet pet;
    }
    
    @Entity
    class Pet {
        @Id String name;
        @ElementCollection Set<String> tricks;
    }
    
    @Entity
    class PetShowApplicant {
        @Id Integer showId;
        @ManyToOne PetOwner owner;
    
        //....//
    
        //what goes here
        String trickToPerform;
    }