草庐IT

persistence

全部标签

java - Hibernate/persistence 有哪些常见问题?

我有一个应用程序,我想针对与Hibernate和/或持久性相关的可能问题进行测试。还有什么问题?我如何复制它们(字面意思)?你如何从中恢复过来?明确一点:我说的是多线程集群环境(最复杂的一个)。我的:org.hibernate.StaleObjectStateException:行已被另一个事务更新或删除(或未保存的值映射不正确)复制:加载对象。使用HQL进行更新。尝试更新(保存)加载的对象。句柄:不确定... 最佳答案 延迟加载是您会遇到的大问题之一,尤其是当您遵循标准DAO模式时。你最终会得到惰性加载的集合,但是在你的DAO层出

java - EntityManager 不能使用 persist 将元素保存到数据库

我遇到了使用EntityManager将元素持久化到数据库的问题。根据我找到的答案,我在我的DaoJpa中尝试了这4种方法来做这样的事情,但仍然失败了。这里附上我尝试过的四种方式:Controller部分的代码:@TransactionalSmartProductsmartProduct=newSmartProduct();smartProduct.setName("DoveSoap");smartProductDao.persist(smartProduct);1.道杰帕:@Transactionalpublicvoidpersist(SmartProductsmartProduct

java - 能否说服 JPA 在例如 UUID 和字符串之间进行转换?

我有一个Java对象,它有一个UUID字段。我希望能够以明显的方式将这个对象持久化到数据库中;然而,Basic映射将使用Java序列化来编写它,而我希望UUID以其明显的字符串形式出现。有没有办法为该字段提供一个UUID字符串转换器到JPA,该字段将在读取和写入时使用,以便我可以自然地处理这种类型? 最佳答案 ChrisLercher评论Note:StartingfromJPA2.1,a@ConvertannotationcanbeusedwithanAttributeConverter.这种方法效果很好,并且与任何JPA提供程序兼

java - 删除然后创建记录导致Spring Data JPA重复 key 冲突

因此,在这种情况下,我需要记录头记录,删除它的详细信息,然后以其他方式重新创建详细信息。更新细节将带来太多麻烦。我基本上有:@Transactionalpublicvoidcreate(Integerid,ListcustomerIDs){Headerheader=headerService.findOne(id);//headerisfound,hasmultipledetails//Removethedetailsfor(Detaildetail:header.getDetails()){header.getDetails().remove(detail);}//Iterateth

java - 不活动 transaciotn : javax. persistence.TransactionRequiredException:执行更新/删除查询

为什么我的交易不活跃?我有这条消息:“javax.persistence.TransactionRequiredException:执行更新/删除查询”我找不到原因应用上下文:-->DAO实现@ComponentpublicclassUserDaoImplimplementsUserDao{@PersistenceContext(unitName="punit")privateEntityManagerem;protectedUserDaoImpl(){}//otherovverrideslikefind,get@Override@Transactionalpublicvoiddele

java - eclipse 链接 : No Persistence provider for EntityManager named

我想创建一个能够使用JavaPersistence的Bundle。为此,我在Eclipse中创建了一个插件项目。在我的项目中,我在META-INF中创建了一个persistence.xml文件。我已经在我的MANIFEST.mf中添加了这3个包(到依赖项中):javax.persistence.jarorg.eclipse.persistence.jarorg.eclipse.persistence.jar然后,在我的Activator中,我使用以下行创建一个EntityManager:factory=Persistence.createEntityManagerFactory(PER

java - JPA 类格式错误 "Absent Code attribute in method that is not native or abstract in class file javax/persistence/Persistence"

当我尝试调用100%工作代码时,我从eclipse中得到错误。例如,它在我的netbeans中工作,但不是这个eclipse项目。这个错误是荒谬的,我几乎可以肯定它是由我正在使用的OPENJPA的一些Maven依赖性引起的。任何指针?Mapproperties=newHashMap();properties.put(PersistenceUnitProperties.JDBC_PASSWORD,"");properties.put(PersistenceUnitProperties.JDBC_USER,"root");properties.put(PersistenceUnitProp

java - 请求的路由还没有映射到 Spark 中

我想做点什么用spark+java+hibernate+postgres注册用户这是我的代码:post("/registrar",(request,response)->{EntityManagerFactoryemf=Persistence.createEntityManagerFactory("compradorcitoPU");EntityManagerem=emf.createEntityManager();em.getTransaction().begin();em.persist(u);em.getTransaction().commit();em.close();retu

java - 使用 JPA 获取旧数据

我使用JPA获取旧数据,即使我禁用了缓存。我猜是因为资源被配置为RESOURCE_LOCAL,但我不确定。org.eclipse.persistence.jpa.PersistenceProvidercom.myentities.User我的代码正在获取有关用户的旧信息:publicListfindAll(Appapp){getEntityManager().getTransaction().begin();Queryq=getEntityManager().createQuery("SELECTt1FROMUsert1WHEREt1.app.idApp=:idApp");q.setP

java - 为什么 JPA 使用 javax.persistence.NoResultException

javax.persistence.NoResultException的使用是否违反了Java异常使用的基本原则?不应该使用异常来控制程序的正常流程。从数据库查询返回零结果在我看来是非常标准(并非异常(exception))的情况。一个无论如何都将通过调用代码处理的问题。 最佳答案 请注意javadocforNoResultException状态:ThrownbythepersistenceproviderwhenQuery.getSingleResult()orTypedQuery.getSingleResult()isexecu