账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    jpa关联非主键列,保存数据失败
    35
    0

    例如
    class表(class_id主键,class_code唯一)
    class_id,class_code,class_name
    student表(stu_id主键,class_code为class表的class_code)
    stu_id,stu_code,stu_name,class_code

    student表的class_code通过ManyToOne关联
    代码如下,部分代码省略

    public class Class{
            @Id
            private String id;
            @Size(max = 20)
            @Column(unique = true)
            private String code;
            
            @Size(max = 200)
            private String name;
            ...
    }
    public class Student{
        @Id
        private String id;
        
        @Size(max = 20)
        private String code;
        
        @Size(max = 200)
        private String name;
        
        @ManyToOne
        @JoinColumn(name="classCode",referencedColumnName="code")
        private Class class;
        ...
    }

    现在有一条student数据插入操作

    @Autowired
    private StudentRepository stuRepository;
    
    Student stu = new Student();
    Class class = new Class();
    class.setCode("class_code值");
    stu.setClass(class);//关联非主键code,保存数据就不行
    ...
    stuRepository.save(stu);

    之前关联class的主键ID是没有问题的,但是关联非主键code,保存数据就不行,是因为必须关联主键么,我看网上也有很多关联非主键的,说明是可以这样做的,就是不知道什么地方有问题?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部