Tag: jpa

JPA 1还不够好

在过去4个月中在中型项目中工作 – 我们正在使用JPA和Spring – 我很确定JPA对于需要超过CRUD屏幕的项目来说并不强大……查询界面很差,Hibernate不尊重JPA规范所有时间和很多次我需要使用hibernate类,注释和配置。 你们对JPA有什么看法? 这不够好吗?

Eclipselink Pooling相当于C3PO

我试图阻止这种日志记录 从服务器成功收到的最后一个数据包是10,255毫秒。 成功发送到服务器的最后一个数据包是0毫秒前。 我已经在persistence.xml中使用auto reconnect设置了连接url 我想要的是会有一个连接池,每分钟或每小时检查连接,以便连接仍然存在。 Hibernate具有c3po的这个function。 喜欢ff。 1800 5 50 50 50 5 5 1 true select 1; true C3P0 无论如何,我可以在eclipselink中做到这一点?

嵌套事务用例中的外部事务没有看到数据库中持久存在的更新(JPA,MySQL,Spring Framework和Hibernate)

我有一个案例,其中一个事务开始并沿途(在代码中)一个方法被调用,启动一个新的事务。 内部事务完成后,数据将保留在数据库中,但数据在外部事务中不可见。 这是代码片段.. @Transactional(readOnly = true) public void doSomething() { // Some stuff happens here doMoreStuff(); // Some more stuff happens here. } @Transactional(propagation = Propagation.REQUIRES_NEW) public void doMoreStuff() { … } “doMoreStuff”方法更新了数据库中的一些数据,之后“doSomething”方法需要查看更新的数据,但事实并非如此。 例如,“doMoreStuff”将布尔值从false设置为true并将其保持不变。 “doSomething”方法仍然只是将值视为false。 有什么建议么?

更新JPA实体中的所有对象

我正在尝试更新ProfileEntity所有4000个对象,但是我收到以下exception: javax.persistence.QueryTimeoutException: The datastore operation timed out, or the data was temporarily unavailable. 这是我的代码: public synchronized static void setX4all() { em = EMF.get().createEntityManager(); Query query = em.createQuery(“SELECT p FROM ProfileEntity p”); List usersList = query.getResultList(); int a,b,x; for (ProfileEntity profileEntity : usersList) { a = profileEntity.getA(); b = profileEntity.getB(); x = func(a,b); profileEntity.setX(x); em.getTransaction().begin(); em.persist(profileEntity); […]

在playframework的子模块中添加jpa / hibernate @Entity到实体管理器进行扫描

我在使用playframework中的子模块时遇到了hibernate实体的问题。 通常(在没有子模块的单个应用程序中)我使用了该代码: package models; @Entity public class AppMode { public static AppMode getCurrentConfigurationEntry() { return JPA.em().find(AppMode.class, 1L); } } 但现在我必须告诉hibernate实体管理器扫描子模块模型,因为我收到一个错误: [IllegalArgumentException: Unknown entity: AppMode] 我在子模块中的模型类是在包中: package models.common; 我已经尝试过了: return JPA.em().find(models.common.AppMode.class, 1L); return JPA.em().find(common.models.AppMode.class, 1L); 但是我得到了同样的错误: [IllegalArgumentException: Unknown entity: models.common.AppMode] 我的问题是:如何在play子项目中配置hibernate,以便在运行时将子模块类添加到classpath? 我在build.sbt文件中都使用hibernate声明了libraryDependencies。 我应该为每个模块都有persistence.xml文件/配置吗?

如何使用jpa和hibernate将本机查询映射到POJO类

我在我的项目中使用JPA和hibernate。 我创建了一个查询,其中我在许多表上进行了连接操作。 所以我创建了一个原生的。 我得到的结果是在object []列表中,但我希望结果自动转换为java POJO类 。 您可以在下面查看查询语法和POJO java类。 JPA查询 @Query(value = “SELECT obsp.Identifier, obs.phenomenontimestart, nv.value ” + “From Series s ” + “INNER JOIN Featureofinterest fi on s.featureofinterestid = fi.featureofinterestid ” + “INNER JOIN ObservableProperty obsp on s.observablepropertyid = obsp.ObservablePropertyId ” + “INNER JOIN Observation obs on s.seriesid = obs.seriesid ” + “INNER JOIN […]

使用关系深度复制EJB实体bean

我所拥有的是一个实体bean,例如Entity (EJB 3),它在ArrayList中保存相同类型的子节点,他的父节点以及与另一个实体的关系。 用户可以拥有许多实体,反之亦然(多对多)。 我想要做的是覆盖Entity.clone() (或者有一个新方法)来深度复制Entity以及属于同一父节点并分配给现有用户的子节点克隆。 我已经设置了克隆方法来创建Entity的克隆(一个新的实体),然后在foreach循环中用子实体的克隆填充它。 但是这给了我一个并发修改exception,我最终得到的是没有children的初始Entity bean的克隆。 我的问题是: 我想要做什么是可行的,还是应该从例如Facade管理深度复制? 如果它是可行的,你能指导我阅读或给我一些提示,因为到目前为止我通过外观进行克隆,它已成为我的应用程序的主要负担。 提前致谢!! pataroulis

JPA CriterialBuilder.concat强制使用concat函数

我正在使用CriteriaBuilder.concat连接2个字符串,使用下面的代码: Expression concat = criteriaBuilder.concat(expr1, expr2) 但生成的SQL类似于: select distinct col_1 || col_2 导致org.hibernate.hql.ast.QuerySyntaxException : expecting CLOSE, found ‘||’ near line 1, column 48 [ select count(distinct generatedAlias0.hostname || generatedAlias0.device) from … ^(1,48) 我想知道如何强制它生成以下使用concat()函数而不是|| SQL 运营商? select distinct concat(col_1, col_2) 更新: 从错误我们可以看出Hibernate( v3.6.10.Final )方面的问题更多,这就是为什么让MySQL接受|| 连接没有帮助,更新到更新的版本不是我的选择。 谢谢

JBoss – 用户事务未被引入

在下面的代码中,当我尝试调用beginTransaction方法时,会引发Null指针exception。 我以为JBoss会启动我的交易……显然不是:\ 我错过了什么? JBoss 5.1.0.GA JPA 1 JDK 6 import javax.annotation.Resource; import javax.persistence.EntityManagerFactory; import javax.persistence.PersistenceUnit; import javax.transaction.UserTransaction; public abstract class AbstractDAO { @PersistenceUnit(unitName = “miniDS”) protected static EntityManagerFactory emf; @Resource protected UserTransaction t; public AbstractDAO() { } protected void beginTransaction() throws Throwable { t.begin(); } protected void commitTransaction() throws Throwable { t.commit(); } protected void […]

@MappedSuperclass不是@entity?

所以我正在使用DerbyDB,我正在设置一些实体。 我有一个@MappedSuperclass ,它被用作某些实体的超类( @Entity )。 更具体地说,我有一个超类User和3个子类,即admin , regular和guest 。 现在我有一个不同的实体,让我们说应该引用(作为其中一个字段)其所有者的文件。 所以我创建了一个名为User owner的字段。 我得到的错误是: Exception Description: [File] uses a non-entity [User] as target entity in the relationship attribute [field owner]. 有解决方法吗?