为Spring mvc中的视图准备实体的最佳实践

时间:2013-11-16 21:43:42

标签: java hibernate spring-mvc

我有一个JPA实体,其中包含其他实体实例的集合。 我需要从集合中删除一些实例并更改其他内容,仅用于View,我不想更改我的数据库内容。 最好的方法是什么?

  1. 复制我的对象并使用它。

  2. 删除延迟加载(或从此主bean获取所需的全部内容)。然后关闭hibernate会话,并使用分离的对象。

  3. 还有别的吗?

  4. 更新

    我的豆子

        @Entity
        @Table(name = "client")
        public class Client extends AbstractPersistentEntity {
    
    
            @Id 
            @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CLIENTS_SEQ")
            @SequenceGenerator(name = "CLIENTS_SEQ", sequenceName = "clients_seq")
            private Integer id;
    
            @NotEmpty
            @Column(name = "name")
            private String name;
    
    
            @OneToMany(mappedBy = "clientId")
            private Collection<ContactPhones> contactPhonesCollection;
    
        }
    

    我想删除一些ContactPhones以供查看。但它可能会很复杂,可能在ContactPhones将是另一个集合,我想删除它。这样的事情。

1 个答案:

答案 0 :(得分:2)

如果您不想从数据库中实际删除任何行,我认为最好的选择是将实体从会话中分离出来并像使用任何其他Java对象一样使用它。