【发布时间】:2016-09-23 14:29:29
【问题描述】:
我现在正在做一个项目,这里有一段代码:
public boolean getAll() {
TypedQuery<Tag> query = em.createQuery("SELECT c FROM Tag c WHERE (c.tagName !=?1 AND c.tagName !=?2 AND c.tagName !=?3) ", Tag.class);
query.setParameter(1, "Complete");
query.setParameter(2, "GroupA");
query.setParameter(3, "GroupB");
List<Tag> Tag= query.getResultList();
但是当我尝试做这样的事情时:
Tag.get(2).setTagName = "Hello";
em.persist(Tag.get(2));
它认为它是更新而不是创建?我怎样才能让 JPA 明白它与数据库无关,将链与数据库分离并创建新寄存器,例如仅更改其名称?
非常感谢您的帮助! 最好的问候!
编辑:
在更改其值之前使用em.detach 并保留每个列表都可以正常工作!
谢谢大家!
【问题讨论】:
标签: java spring-mvc jpa