草庐IT

java - JPA native 查询和缓存

JPA中的原生查询(createNativeQuery)是否支持缓存?我正在填充我自己的数据传输对象,因为sql查询连接了几个表并且只从它们中提取了几个列。问候 最佳答案 这是可能的,但您必须使用明确的.addScalar或.addEntity。另见CachingSQLqueryproblemHibernate:TrulyUnderstandingtheSecond-LevelandQueryCaches 关于java-JPAnative查询和缓存,我们在StackOverflow上找到

java - 一些基本的 JPA+Hibernate 问题?

我有一些基本问题:1)如果使用JPA注解,JPA+Hibernate组合涉及多少个xml文件?我只有persistence.xml。2)如果我使用JPA注释,是否需要hibernate.cfg.xml。因为,我直到现在才添加它。3)在使用JPA2.0和Hibernate的情况下,谁能给我基本JAR文件名的列表!!!谢谢! 最佳答案 1)HowmanyxmlfilesinvolvedinJPA+Hibernatecombination,ifJPAannotationswereused?iamhavingjustpersistence.

java - 包含 Set 的 @ManyToMany Map 的 JPA2 持久性

我需要保留类型为Map>的成员,使用JPA2注释。关系是多对多的,Item对象是实体。我是否应该创建一个单独的中介实体持有Set还是可以直接映射?如果缺少某些上下文,请告知。 最佳答案 ShouldIcreateaseparateintermediaryEntityholdingSetorisadirectmappingpossible?JPA不支持嵌套集合关系(ListofLists,MapofSets,等等)。这是关于Map的规范的相关部分:2.7MapCollectionsCollectionsofelementsandent

java - 是否有任何基于现代 Java EE 堆栈(Spring/EJB、JPA)的 CRM?

我必须构建一个特殊的定制客户关系运输管理工具。对于CMR,只有基本要求(管理客户、为他们添加注释、附加电子邮件……),除了关于集成特定应用程序以存储和获取一些数据的要求。所以我正在寻找一个开源CRM,我可以在其中添加这些特定的东西,因为我不想重新发明weel并自己实现下一个CRM。因此,我正在寻找一个用Java编写的基于Web的开源CRM,它基于现代JavaWebStack。我更喜欢基于Spring(或EJB3.1)和JPA的东西。当然,比使用的技术更重要的是代码的质量(和文档)。在四处寻找几个小时后,我没有找到适合我需要的项目。所以我想问,谁能推荐一款符合我需求的CRM,还是我应该完

java - 奇怪的 classCastException hibernate 3.5 glassfish

您好,我有一个我自己无法解决的问题。我有一个war文件打包在ear中并在glassfish3.0.1上运行,使用hibernate3.5作为JPA提供程序。我用maven编译,用idea或者手动部署。每次我在我的DAO中遇到强制转换异常时:java.lang.ClassCastException:com.myproject.domain.entity.Usercannotbecasttocom.myproject.domain.entity.User其他时候它工作得很好。这种行为没有模式。有人可以阐明这里发生的事情吗?抛出异常的示例方法在com.myproject.domain.dao

java - JPA混合继承策略

我有3个实体:@EntitypublicabstractclassA{@IdpublicLongid;publicStringa1;publicStringa2;publicStringa3;//muchmorefields//gettersandsetters}@EntitypublicclassBextendsA{publicStringb1;publicStringb2;publicStringb3;//muchmorefields//gettersandsetters}@EntitypublicclassCextendsA{publicStringc;//that'sit.no

java - JPA:如何在设置参数后获取/打印(类型化)查询后面的 JPQL 查询字符串?

如何获取/打印(键入的)查询后面的JPQL查询字符串,即设置之后参数?(例如,用于调试目的)一个简单的toString()似乎并不能解决问题...谢谢 最佳答案 没有“最终被翻译成最终SQL的最终JPQL”这样的东西。JPA实现如何生成SQL取决于它,并且参数通常永远不会被替换为任何字符串。SQL是从表达式树等而不是字符串生成的。如果你想插入参数值然后自己做,因为它只对你有意义 关于java-JPA:如何在设置参数后获取/打印(类型化)查询后面的JPQL查询字符串?,我们在StackOv

java - 关于 JDBC 资源和 JDBC 连接池 Glassfish 的一些混淆

我即将连接到我的数据库,并且我正在使用EJB和JPA。我最近开始做这些技术,所以我在理解这一切时遇到了一些问题:)我知道需要persistence.xml才能使用JPA。这是我配置如何连接到数据库的文件,我知道。然而,似乎有多种方法可以做到这一点。在persistence.xml文件和Glassfish中定义诸如用户名、数据库、密码等属性会有什么区别(或者我什么时候应该使用一个替代方案?)?优点/缺点(如果有的话)。在我发布的图像下方,我有JDBC资源和JDBC连接池。我对两者的术语有点困惑。为什么我们不在JDBCResources中添加用户名、数据库、密码等属性呢?谁能解释一下它们之

java - 以编程方式访问 JPA <persistence-unit-metadata>

是否可以访问中的信息?通过JavaAPI?MySchema我想通过JPAAPI或EclipseLinkAPI读取模式“MySchema”,这是我使用的实现。类似于:entityManager.getDefaults().getSchema();可以转换或使用任何EclipseLink类,这很好。谢谢 最佳答案 经过一段时间的调试后,我找到了访问实体架构的解决方案。EntityTypeentity=emf.getMetamodel().entity(MyEntity.class);EntityTypeImplentityTypeImp

java - getSingleResult 返回 hibernate 中 native 标量查询的代理

我正在努力将我的JPA持久性提供程序从EclipseLink2.3切换到Hibernate3.6.5.Final。问题出在native查询上。注意:这不是EclipseLink的问题。我正在尝试从我没有为其声明实体的表中获取标量值、String。这是代码:Queryq=em.createNativeQuery("selectdescriptionfromfoowherefoo_id=?");q.setParameter(1,fooId);Stringdescription=(String)q.getSingleResult();使用Hibernate我得到一个ClassCastExce