Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.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 JSF ViewScoped bean的意外行为_Java_Jsf - Fatal编程技术网

Java JSF ViewScoped bean的意外行为

Java JSF ViewScoped bean的意外行为,java,jsf,Java,Jsf,(对不起,我的英语不好) 我正在使用JSF2.2和Spring3.2开发一个项目,运行在Tomcat7中。 ViewScope托管Bean发生意外行为 我的相关托管Bean是 @Name @ViewScoped public class InvoiceBean implements Serializable { @Inject private InvoiceService service; private Invoice invoice; private Deta

(对不起,我的英语不好)
我正在使用JSF2.2和Spring3.2开发一个项目,运行在Tomcat7中。 ViewScope托管Bean发生意外行为

我的相关托管Bean是

@Name
@ViewScoped
public class InvoiceBean implements Serializable {
    @Inject
    private InvoiceService service;
    private Invoice invoice;
    private Detail detail;

    ...

    public void addDetail() {
        if (invoice.getDetails().isEmpty()) {
            invoice.setDetails(new ArrayList<Details>());
        }
        invoice.getDetails().add(detail); <--- Add a detail from the view
    }
}
@Name
@视域
公共类Invoiceean实现了可序列化{
@注入
私人发票服务;
私人发票;
私人细节;
...
public void addDetail(){
if(invoice.getDetails().isEmpty()){
invoice.setDetails(新的ArrayList());
}

invoice.getDetails().add(detail);确保每个发票都有不同的id。此时id为null。将在数据库中持久化时提供id。
@Entity
public class Invoice implements Serializable {

    @Id
    private Integer id;
    @OneToMany
    private List<Detail> details;

    ...
}

@Entity
public class Detail implements Serializable {

    @Id
    private Integer id;

    ...

}