Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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 使用spring表单标记插入/更新具有非基本属性的实体_Java_Spring_Spring Mvc_Spring Form - Fatal编程技术网

Java 使用spring表单标记插入/更新具有非基本属性的实体

Java 使用spring表单标记插入/更新具有非基本属性的实体,java,spring,spring-mvc,spring-form,Java,Spring,Spring Mvc,Spring Form,在我的spring应用程序中,用于在数据库中插入/更新实体的表单具有类似以下结构: <jsp:include page="../../common/cadastrar.jsp"> <jsp:param name="entity" value="Usuario"/> <jsp:param name="arguments" value="login"/> <jsp:param name="arguments" value="senh

在我的spring应用程序中,用于在数据库中插入/更新实体的表单具有类似以下结构:

<jsp:include page="../../common/cadastrar.jsp">
    <jsp:param name="entity" value="Usuario"/>

    <jsp:param name="arguments" value="login"/>
    <jsp:param name="arguments" value="senha"/>
    <jsp:param name="arguments" value="first_name"/>
    <jsp:param name="arguments" value="last_name"/>
    <jsp:param name="arguments" value="email"/>
</jsp:include>
Pedido.java

@Entity
@Table(name="pedido")
public class Pedido {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    @ManyToMany
    @JoinTable(name="produtos_do_pedido", joinColumns={@JoinColumn(name="fk_pedido")}, inverseJoinColumns={@JoinColumn(name="fk_produto")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Produto> produto;

    @ManyToMany
    @JoinTable(name="cobranca_do_pedido", joinColumns={@JoinColumn(name="fk_pedido")}, inverseJoinColumns={@JoinColumn(name="fk_cobranca")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Cobranca> cobranca;
}
@实体
@表(name=“pedido”)
公共级佩迪多{
@身份证
@列(name=“id”)
@GeneratedValue(策略=GenerationType.IDENTITY)
私有整数id;
@许多
@JoinTable(name=“produtos\u do\u pedido”,joinColumns={@JoinColumn(name=“fk\u pedido”)},inverseJoinColumns={@JoinColumn(name=“fk\u produto”)})
@LazyCollection(LazyCollectionOption.FALSE)
私人上市公司;
@许多
@JoinTable(name=“cobranca_do_pedido”,joinColumns={@JoinColumn(name=“fk_pedido”)},inverseJoinColumns={@JoinColumn(name=“fk_cobranca”)})
@LazyCollection(LazyCollectionOption.FALSE)
私人名单cobranca;
}

如果不知道这些实体是什么,我什么也说不出来。处理的方式高度依赖于实体结构。您可能有:直接字符串实体转换(日期)、复选框(枚举或选项)、一个属性的多个字段(复杂实体)等。好的,我将问题更新为包含与
客户
相关的实体。
@Entity
@Table(name="cliente")
public class Cliente extends Entidade {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    @OneToOne
    @JoinColumn(name="fk_usuario")
    private Usuario usuario;

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

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

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

    @ManyToMany
    @JoinTable(name="endereco_entrega", joinColumns={@JoinColumn(name="fk_cliente")}, inverseJoinColumns={@JoinColumn(name="fk_endereco")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Endereco> endereco;

    @ManyToMany
    @JoinTable(name="pedido_cliente", joinColumns={@JoinColumn(name="fk_cliente")}, inverseJoinColumns={@JoinColumn(name="fk_pedido")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Pedido> pedido;
}
@Entity
@Table(name="usuario")
public class Usuario extends Entidade {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

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

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

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

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

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

    @ManyToMany
    @JoinTable(name="role_members", joinColumns={@JoinColumn(name="fk_user")}, inverseJoinColumns={@JoinColumn(name="fk_role")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Role> Autorizacao = new ArrayList<Role>();
}
@Entity
@Table(name="endereco")
public class Endereco {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

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

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

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

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

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

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

    @Column(name="cep")
    private String cep;
}
@Entity
@Table(name="pedido")
public class Pedido {

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    private Integer id;

    @ManyToMany
    @JoinTable(name="produtos_do_pedido", joinColumns={@JoinColumn(name="fk_pedido")}, inverseJoinColumns={@JoinColumn(name="fk_produto")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Produto> produto;

    @ManyToMany
    @JoinTable(name="cobranca_do_pedido", joinColumns={@JoinColumn(name="fk_pedido")}, inverseJoinColumns={@JoinColumn(name="fk_cobranca")})
    @LazyCollection(LazyCollectionOption.FALSE)
    private List<Cobranca> cobranca;
}