Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.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
使用SpringMVC在java中填充表_Java_Spring_Spring Mvc - Fatal编程技术网

使用SpringMVC在java中填充表

使用SpringMVC在java中填充表,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有三个实体:账户,合作伙伴,和推荐 合作伙伴表已满,并且有到帐户表的链接 注册用户时,填写帐户表 然后我需要填写推荐表,其中有到帐户和合作伙伴的链接 在这种情况下,我需要检查请求中是否有参考链接,我需要检查它是否在合作伙伴表中,并写入合作伙伴的ID参考表。还可以从表帐户中获取ID,并将其写入参考表 我有实体和控制器 @Entity @Table(name = "partner") public class Partner implements Serializable { @Id @Colu

我有三个实体:
账户
合作伙伴
,和
推荐

合作伙伴
表已满,并且有到
帐户
表的链接

注册用户时,填写
帐户

然后我需要填写
推荐
表,其中有到
帐户
合作伙伴
的链接

在这种情况下,我需要检查请求中是否有
参考
链接,我需要检查它是否在
合作伙伴
表中,并写入
合作伙伴
的ID
参考
表。还可以从表
帐户
中获取ID,并将其写入
参考

我有实体和控制器

@Entity
@Table(name = "partner")
public class Partner implements Serializable {

@Id
@Column(name = "id", unique = true, nullable = false)
private Long id;

@OneToOne
@JoinColumn(name = "account_id")
private Account account;

@Column(name = "referral_link", nullable = false, unique = true)
@NotEmpty
private String referralLink;

Getter, Setter, and Constructor

@Entity
@Table(name = "referral")
public class Referral implements Serializable {

@Id
@Column(name = "id", unique = true, nullable = false)
private Long id;

@OneToMany(fetch = FetchType.LAZY, mappedBy = "partner", cascade = CascadeType.ALL)
@JoinColumn(name = "partner_id")
private Set<Partner> partnerId = new HashSet<>();

@OneToOne
@JoinColumn(name = "account_id", nullable = false, unique = true)
private Account accountId;

@Column(name = "device_id")
private String deviceId;

@Column(name = "setup_date", nullable = false)
private Date setupDate;

Getter, Setter, and Constructor
@实体
@表(name=“partner”)
公共类伙伴实现可序列化{
@身份证
@列(name=“id”,unique=true,nullable=false)
私人长id;
@奥内托内
@JoinColumn(name=“account\u id”)
私人帐户;
@列(name=“reference\u link”,nullable=false,unique=true)
@空空如也
私有字符串引用链接;
Getter、Setter和构造函数
@实体
@表(name=“转诊”)
公共类引用实现了可序列化{
@身份证
@列(name=“id”,unique=true,nullable=false)
私人长id;
@OneToMany(fetch=FetchType.LAZY,mappedBy=“partner”,cascade=CascadeType.ALL)
@JoinColumn(name=“partner\u id”)
私有集partnerId=新HashSet();
@奥内托内
@JoinColumn(name=“account\u id”,nullable=false,unique=true)
私人帐户账号;
@列(name=“device\u id”)
私有字符串设备ID;
@列(name=“setup\u date”,null=false)
私人日期;
Getter、Setter和构造函数
在控制器中,我编写了以下代码:

    Long defaultId = 6L;
    if (referralLink == null) {
        referral = new Referral(defaultId, account.getId();
        referralService.create(referral);
    } else {
        List<Partner> partnerList = partnerService.getAll();
        if (partnerList.contains(referralLink)) {
            // How to get partnerId?
            referral = new Referral(partnerId, account.getId();
        } else {
            referral = new Referral(defaultId, account.getId();
            referralService.create(referral);
        }
        referralService.create(referral);
    }
Long defaultId=6L;
如果(referralLink==null){
转诊=新转诊(defaultId,account.getId();
推荐服务。创建(推荐);
}否则{
List partnerList=partnerService.getAll();
if(partnerList.contains(referralLink)){
//如何获取partnerId?
转诊=新转诊(partnerId,account.getId();
}否则{
转诊=新转诊(defaultId,account.getId();
推荐服务。创建(推荐);
}
推荐服务。创建(推荐);
}
许多问题都被证明是:

  • 如何在
    referralLink
    所属的工作表上获取元素的id

  • 如果
    referralLink
    为空,如何添加默认ID

  • 创建
    推荐
    时,他要求我提供一个实体
    账户
    ,而不是我的
    长期
    集合
    合作伙伴,我做错了什么


    • 你有很多问题

      在你的Refferal班上是第一名

      @OneToMany(fetch = FetchType.LAZY, mappedBy = "partner", cascade = CascadeType.ALL)
      @JoinColumn(name = "partner_id")
      private Set<Partner> partnerId = new HashSet<>();
      

      所以只需删除“nullable=false”

      您有很多问题

      在你的Refferal班上是第一名

      @OneToMany(fetch = FetchType.LAZY, mappedBy = "partner", cascade = CascadeType.ALL)
      @JoinColumn(name = "partner_id")
      private Set<Partner> partnerId = new HashSet<>();
      

      因此,只需删除“nullable=false”

      即可,这样我在关系的两侧就没有JoinColumn。从引用中,表引用合作伙伴表中的ID。这是一个双向关系,您可以从另一侧引用任何一侧谢谢,我遵照您的建议。使用“columnDefinition”设置默认值with referralLink为空并删除“nullable=false”。但是表引用中的数据仍然未写入检查我的第二个注意事项,关于将关系的每一侧引用到另一侧,因此我在关系的两侧没有JoinColumn。从引用中,表引用合作伙伴表中的ID这是一个双向关系,您可以从另一侧引用任何一侧,而不是谢谢,我听从了你的建议。使用referralLink将默认值设置为“columnDefinition”为空,并删除“nullable=false”。但是表referrion中的数据仍然没有写入检查我的第二个注释,关于对关系的每一方都有引用