2014-03-17 1 views
0

Привет Я не могу сливаться работать это только делает новую запись, но не обновлять записиJava диспетчер объектов слияния не только редактировать сделать новую запись

EDIT:

Объект:

@Entity(name = "ALLEGRO_TRANSACTION") 
public class AllegroTransactionImpl implements AllegroTransaction{ 

    @Id 
    @Column(name = "ID") 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    protected Long id; 

    @Column(name = "ALIEXPRESS_NUMBER") 
    protected String aliexpressNumber; 

    @Column(name = "CREATE_DATE") 
    protected Date createDate; 

    @OneToOne(optional = true, targetEntity = PaymentTypeImpl.class) 
    @JoinColumn(name = "PAYMENT_ID") 
    protected PaymentTypeImpl paymentType; 

    @Column(name = "FIRST_NAME") 
    protected String firstName; 

    @Column(name = "LAST_NAME") 
    protected String lastName; 

    @Column(name = "PRICE") 
    protected float price; 

    @Column(name = "EMAIL") 
    protected String email; 

    @Column(name = "PHONE", nullable = true) 
    protected String phone; 

    @Column(name = "ADDRESS", columnDefinition="LONGTEXT") 
    protected String address; 

    @Column(name = "ATTENTION", columnDefinition="LONGTEXT") 
    protected String attention; 

    public Long getId() { 
     return id; 
    } 

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

    public String getAliexpressNumber() { 
     return aliexpressNumber; 
    } 

    public void setAliexpressNumber(String aliexpressNumber){ 
     this.aliexpressNumber = aliexpressNumber; 
    } 

    public Date getCreateDate() { 
     return createDate; 
    } 

    public void setCreateDate(Date createDate) { 
     this.createDate = createDate; 
    } 

    public PaymentTypeImpl getPaymentType() { 
     return paymentType; 
    } 

    public void setPaymentType(PaymentTypeImpl paymentType) { 
     this.paymentType = paymentType; 
    } 

    public String getFirstName() { 
     return firstName; 
    } 

    public void setFirstName(String firstName) { 
     this.firstName = firstName; 
    } 

    public String getLastName() { 
     return lastName; 
    } 

    public void setLastName(String lastName) { 
     this.lastName = lastName; 
    } 

    public float getPrice() { 
     return price; 
    } 

    public void setPrice(float price) { 
     this.price = price; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

    public String getPhone() { 
     return phone; 
    } 

    public void setPhone(String phone) { 
     this.phone = phone; 
    } 

    public String getAddress() { 
     return address; 
    } 

    public void setAddress(String address) { 
     this.address = address; 
    } 

    public String getAttention() { 
     return attention; 
    } 

    public void setAttention(String attention) { 
     this.attention = attention; 
    } 

} 

менеджер:

@Service 
public class AllegroTransactionService { 

    private final static Logger logger = Logger.getLogger(AllegroTransactionService.class); 

    @PersistenceContext(unitName = "allegroTransactionPersistenceUnit", type= PersistenceContextType.EXTENDED) 
    protected EntityManager em; 

    public List<AllegroTransactionImpl> readAllegroTransactionByCreateDate() 
    { 
     Query query = this.em.createQuery("SELECT allegroTransaction FROM com.springapp.mvc.classes.AllegroTransactionImpl allegroTransaction ORDER BY createDate DESC"); 
     return query.getResultList(); 
    } 

    @Transactional 
    public AllegroTransactionImpl saveAllegroTransaction(AllegroTransactionImpl allegroTransaction) 
    { 
     this.em.merge(allegroTransaction); 
     return allegroTransaction; 
    } 

} 

До сих пор не могу получить эту работу ... может быть, вы, ребята, что-нибудь придумаем ? Управляет менеджером сущностей, я могу легко получить readAllegroTransaction, работая, но слияние не работает - это создает другой объект.

+0

Вы должны рассмотреть возможность работы на объяснения и давать больше информации ... Что ваша схема выглядит? Как определяются ваши объекты? etc ... –

+0

обновленное сообщение после вашего комментария – user3353393

+0

Имеет ли объект, который вы передаете как аргумент, действительный id? – Gladhus

ответ