【问题标题】:Update entity field from String to List<String> in Jhipster在 Jhipster 中将实体字段从 String 更新为 List<String>
【发布时间】:2017-12-03 07:45:21
【问题描述】:

我在网上搜索了很多,但没有找到对我有帮助的东西,所以我决定在这里尝试。

我正在使用 Jhipster 代码生成器开发一个应用程序。我知道可以使用命令“yo jhipster-entity EntityName”来修改实体,使用它我可以在 String、Integer、Long、Float、Double、BigDecimal 和 LocalDate 之间进行选择。问题是我需要一个 Set 或 List of String 之类的东西。

有没有办法通过命令行来做到这一点?

这是我的实体“办公桌”:

import com.fasterxml.jackson.annotation.JsonIgnore;
import javax.persistence.*;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
import java.util.Objects;

/**
 * A Desk.
 */
@Entity
@Table(name = "desk")
public class Desk implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "users_on_it")
    private String usersOnIt;

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

    @OneToMany(mappedBy = "desk")
    @JsonIgnore
    private Set<CustomUser> users = new HashSet<>();

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsersOnIt() {
        return usersOnIt;
    }

    public Desk usersOnIt(String usersOnIt) {
        this.usersOnIt = usersOnIt;
        return this;
    }

    public void setUsersOnIt(String usersOnIt) {
        this.usersOnIt = usersOnIt;
    }

    public String getName() {
        return name;
    }

    public Desk name(String name) {
        this.name = name;
        return this;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Set<CustomUser> getUsers() {
        return users;
    }

    public Desk users(Set<CustomUser> customUsers) {
        this.users = customUsers;
        return this;
    }

    public Desk addUsers(CustomUser customUser) {
        this.users.add(customUser);
        customUser.setDesk(this);
        return this;
    }

    public Desk removeUsers(CustomUser customUser) {
        this.users.remove(customUser);
        customUser.setDesk(null);
        return this;
    }

    public void setUsers(Set<CustomUser> customUsers) {
        this.users = customUsers;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        Desk desk = (Desk) o;
        if (desk.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), desk.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    @Override
    public String toString() {
        return "Desk{" +
            "id=" + getId() +
            ", usersOnIt='" + getUsersOnIt() + "'" +
            ", name='" + getName() + "'" +
            "}";
    }
}

Jhipster通过关系生成了一个Set字段(Set of CustomUser),但是我需要的字段和其他实体没有关系。

感谢您宝贵的时间,曼努埃尔。

【问题讨论】:

标签: spring list entity field jhipster


【解决方案1】:

根据 jdl 文档here,字段的集合类型尚未处理。

我猜你已经考虑过创建一个标题对象并与文档创建一对多关系吧?

【讨论】:

  • 我认为是这样,但我认为这不是一个有效的解决方案,因为我需要的字段没有关系。我可以尝试,如果它有效,我可以在新字段生成后删除关系,我不知道它是否有效。明天早上我会做一些测试,我会告诉你。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2019-09-10
  • 2020-04-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-21
  • 1970-01-01
  • 2016-04-24
  • 1970-01-01
相关资源
最近更新 更多