草庐IT

accessing-data-jpa

全部标签

java - Java SE 6 中的 JPA/Hibernate,数据访问的最佳实践

我正在开始一个普通的JavaSE项目,我打算使用JPA/Hibernate。我想知道是否有人可以启发我在这种环境(数据访问层)中与Hibernate交互的最佳方式是什么? 最佳答案 我不确定最好的方法是什么,但在我的工作场所,我们的大部分Hibernate交互都基于这些文章:Don'tletHibernatestealyouridentity和GenericDataAccessObjects它们向您展示了如何以一种巧妙的方式创建映射类,以及如何实现一个可以为任何持久类重用的通用DAO。这对我们来说效果很好。

java - 有没有办法减少与 CriteriaQuery(在 JPA 2.0 中)关联的样板代码的数量?

我喜欢类型安全CriteriaQuery带来了JPA2.0,但它也带来了一些样板代码。例如,假设我有一个名为NamedEntity的实体,它只有一个id和一个名为“name”的字符串字段(假设它的唯一约束设置为true)。NamedEntityManager可能如下所示:publicclassNamedEntityManager{//injectusingyourframeworkEntityManagerentityManager;//retrieveallexistingentitiesoftypeNamedEntityfromDBpublicIterablequeryAll(){

java - JPA left join 查找未使用的条目

我确定我是愚蠢的,但我似乎无法弄清楚这一点......我有两个表:部门(做过,名字)员工(eid,第一个,最后一个,做了)他们有相应的实体JPA管理实体Department和Employee。Employee有Deparment字段,Department不维护Employee列表。不过,我想做的是找到所有没有员工的部门。使用普通的旧SQL通过左连接很容易:SELECTd.*FROMdepartmentasdLEFTOUTERJOINemployeeaseONd.did=e.didWHEREe.didISNULL不过我看不出如何将此查询转换为JPQL。例如,我为JPQL左连接找到的所有示

java - 如何使用 JPA 检索多个对象?

我将JPA2/hibernate与此数据模型一起使用:classStock{@ManyToOneprivateStockGroupstockGroup;privatebooleanvisible;}classStockGroup{@OneToMany(mappedBy="stockGroup")privateListstocks;}我想检索包含Stock的StockGroup,其中visible==true。我想出了这个错误的代码:CriteriaBuildercb=em.getCriteriaBuilder();CriteriaQueryq=cb.createQuery(StockG

java - 基本 JPA 问题 : "Could not determine type for: java.util.Set"

我刚刚开始在PlayFramework网络应用程序中构建我的JPA架构。我对SQL有一定的了解,但我是JPA新手,在第一个障碍上就被绊倒了。根据Play教程,我假设您只是创建Java类,JPA/Play会自动为您创建模式。所以我想在两个模型类Rankable和Tag之间创建ManyToMany关系:@Entity@Inheritance(strategy=InheritanceType.JOINED)publicclassRankableextendsModel{publicStringname;privateSettags;@ManyToMany()@JoinTable(name="

java - 获取 "illegal access to loading collection"错误

当我在没有实现hashcode()和toString()的情况下执行我的程序时,它可以正常工作。但是,只要我包含hashcode()和toString(),就会出现“非法访问加载集合”错误。我的hbm文件是1)booking.hbm.xml2)Passenger.hbm.xml3)用户.hbm.xml任何人都可以解释错误吗? 最佳答案 您的hashcode和equals方法无法正常工作。确保它们是正确的。toString()与集合类无关,但hashcode和equals有。我假设您已经覆盖了hashcode和equals而不仅仅是h

java - 在 JPA 中使用 GROUP BY

我在问题实体和类别实体之间建立了@ManyToMany关系。我想统计每个类别中的问题数量。我该怎么做? 最佳答案 selectcount(question.id),category.descriptionfromCategorycategoryleftjoincategory.questionsquestiongroupbycategory.description 关于java-在JPA中使用GROUPBY,我们在StackOverflow上找到一个类似的问题:

java - 基于 JPA 注释生成 ERD(实体关系图)的工具

我正在使用ormlite编写java代码。我想知道是否可以从我的代码中的JPA注释生成ERD。基本上,我需要这个的反面:HowcanItransformEntity-BaseddiagramtoaJPAjavacode 最佳答案 IntelliJIDEA(旗舰版)为ER-Diagram生成器提供JPA。在Persistence工具窗口中,选择适当的节点。然后使用上下文菜单选择“ER图”。请注意,JPAfacet必须链接到模块并且UML插件应该处于Activity状态。 关于java-基于

c# - 下载和处理要在 Oracle 中加载的超大压缩 MS Access 文件的最佳方法

我必须下载一个250mb~ZIP文件,密码通过FTP加密。下载后,我必须使用通用密码解压缩它,Zip文件将包含一个1.5GB的MSAccess数据库,我必须读取它并与我的数据库Oracle中的一些表进行一些连接,并将该数据转换并加载到该Oracle数据库中。我正在寻找执行此过程的最佳方法。我是c#开发人员,所以我的第一个想法是使用c#,通过FtpClient下载文件。或FtpWebRequest,然后使用类似DotNetZip的zip库并通过ODBC打开MSAccess数据库并使用ODP.NEt将记录加载到Oracle中,我认为这是我的“简单方法”,因为我知道如何去做。但由于这是一个大

java - Hibernate/JPA 中注释字段或 getter 方法之间的性能差异

我很好奇是否有人对使用私有(private)字段而不是公共(public)getter方法注释实体之间的性能差异有任何确切的数字。我听说人们说字段速度较慢,因为它们被称为“通过反射”,但getter方法也是如此,不是吗?Hibernate需要先将该字段的可访问性设置为true,然后再尝试读取它,我可以看到这有一些轻微开销。然而,这不会在session范围内的类级别完成,或者可能只在读取配置和构建SessionFactory时完成一次吗?只是好奇这是否是一个神话,或者是否真的存在;我个人认为注释字段更具可读性。 最佳答案 将5000条