Questions tagged «hibernate»

Hibernate是一种Java语言的对象关系映射(ORM)库,使开发人员能够以远远超出对象/关系映射的方式在其应用程序中使用POJO风格的域模型。

27
创建在类路径资源中定义的名称为'entityManagerFactory'的bean时出错:初始化方法的调用失败
编译spring项目时,出现以下错误。 创建在类路径资源[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]中定义的名称为'entityManagerFactory'的bean时出错:调用init方法失败 我正在使用STS Eclipse和MySql数据库 我的连接字符串Application.Properties是 spring.datasource.url=jdbc:mysql://localhost:3306/stgdb spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.jpa.hibernate.ddl-auto=update 详细错误如下 ================================================= 2016-10-15 15:34:38.875[0;39m [31mERROR[0;39m [35m3700[0;39m [2m---[0;39m [2m[ main][0;39m [36mo.s.boot.SpringApplication [0;39m [2m:[0;39m Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaAutoConfiguration.class]: …

9
在Spring Boot中禁用所有与数据库相关的自动配置
我正在使用Spring Boot开发两个应用程序,一个用作服务器,另一个是客户端应用程序。但是,它们都是同一个应用程序,根据活动配置文件的功能有所不同。我正在使用Spring Boot的自动配置功能来配置我的应用程序。 我想在客户端应用程序上禁用所有与数据库相关的自动配置,因为它不需要数据库连接。应用程序不应尝试与数据库建立连接,也不应尝试使用任何Spring Data或Hibernate功能。启用或禁用数据库自​​动配置应该是有条件的,并且应基于应用程序的活动配置文件。 我可以通过为各自的配置文件创建两个不同的application.properties文件来实现此目的吗? 我尝试将其添加到属性文件中, spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration\ org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration\ org.springframework.boot.autoconfigure.data.web.SpringDataWebAutoConfiguration 但是,该应用程序仍然尝试在启动时连接到数据库。这些排除条件足以满足我的要求吗?


15
JPA:对大型结果集进行迭代的正确模式是什么?
假设我有一个包含数百万行的表。使用JPA,迭代对该表的查询的正确方法是什么,这样我就不会拥有一个包含数百万个对象的内存列表? 例如,如果表很大,我怀疑以下内容会爆炸: List<Model> models = entityManager().createQuery("from Model m", Model.class).getResultList(); for (Model model : models) { System.out.println(model.getId()); } 分页(循环和手动更新setFirstResult()/ setMaxResult())真的是最好的解决方案吗? 编辑:我针对的主要用例是一种批处理作业。如果需要很长时间才能运行就可以了。没有涉及Web客户端。我只需要为每一行“做某事”,一次一行(或一些小N)。我只是想避免将它们全部同时存储在内存中。
114 java  hibernate  jpa 

11
如何在Hibernate 4中配置日志记录以使用SLF4J
使用Hibernate 3.x slf4j用于记录。Hibernate 4.x的用途jboss日志。我正在编写一个使用Hibernate 4和SLF4J进行日志记录的独立应用程序。 如何配置Hibernate登录到SLF4J? 如果那不可能,那么我该如何配置Hibernate的日志记录呢? Hibernate 4.1手册中有关日志记录的部分以警告为“ ...”开始。 完全过时了。Hibernate从4.0开始使用JBoss Logging。当我们将这些内容迁移到《开发人员指南》时,将对此进行记录。 ...继续谈论SLF4J,因此毫无用处。入门指南和开发人员指南都没有谈论日志。迁移指南也没有。 我一直在寻找有关jboss-logging本身的文档,但是我根本找不到任何文档。在GitHub的页面是沉默的,和JBoss的社区项目页面甚至没有清单的jboss-记录。我想知道项目的Bug跟踪程序是否可能与提供文档有关,但没有。 好消息是,在应用程序服务器(例如JBoss AS7)中使用Hibernate 4时,日志记录在很大程度上由您处理。但是如何在独立应用程序中配置它?

30
Hibernate错误:org.hibernate.NonUniqueObjectException:具有相同标识符值的另一个对象已与会话关联
我有两个用户对象,而在尝试使用以下方法保存对象时 session.save(userObj); 我收到以下错误: Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.pojo.rtrequests.User#com.pojo.rtrequests.User@d079b40b] 我正在使用创建会话 BaseHibernateDAO dao = new BaseHibernateDAO(); rtsession = dao.getSession(userData.getRegion(), BaseHibernateDAO.RTREQUESTS_DATABASE_NAME); rttrans = rtsession.beginTransaction(); rttrans.begin(); rtsession.save(userObj1); rtsession.save(userObj2); rtsession.flush(); rttrans.commit(); rtsession.close(); // in finally block 我还尝试session.clear()过保存之前的操作,但仍然没有运气。 这是第一次,当用户请求到来时,我得到了会话对象,所以我得到了为什么要说该对象存在于会话中的信息。 有什么建议?
114 java  hibernate  orm 

14
轻巧的替代Hibernate吗?[关闭]
从目前的情况来看,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 我有一个用户Java程序,希望将数据存储在轻量级数据库(例如Derby或Sqlite)中。我想在程序中使用数据抽象层。Hibernate似乎需要大量配置,并且对于我所需要的东西来说过于矫kill过正。什么是Hibernate的轻巧替代品?

8
JPA渴望获取未加入
JPA的提取策略究竟控制什么?我无法发现渴望与懒惰之间的任何区别。在这两种情况下,JPA / Hibernate都不会自动加入多对一关系。 示例:人员有一个地址。一个地址可以属于许多人。JPA注释的实体类如下所示: @Entity public class Person { @Id public Integer id; public String name; @ManyToOne(fetch=FetchType.LAZY or EAGER) public Address address; } @Entity public class Address { @Id public Integer id; public String name; } 如果我使用JPA查询: select p from Person p where ... JPA / Hibernate生成一个SQL查询以从Person表中选择,然后为每个人进行不同的地址查询: select ... from …
112 java  hibernate  jpa  join 

7
休眠问题-“使用@OneToMany或@ManyToMany定位未映射的类”
我正在使用“休眠注释”找到自己的脚,并且遇到了一个问题,希望有人可以提供帮助。 我有2个实体,分别是Section和ScopeTopic。该部分具有List类成员,因此具有一对多关系。运行单元测试时,出现此异常: 使用@OneToMany或@ManyToMany定位未映射的类:com.xxx.domain.Section.scopeTopic [com.xxx.domain.ScopeTopic] 我会假设该错误暗示我的ScopeTopic实体未映射到表?我看不到我做错了。这是实体类: @Entity public class Section { private Long id; private List<ScopeTopic> scopeTopics; public Section() {} @Id public Long getId() { return id; } public void setId(Long id) { this.id = id; } @OneToMany @JoinTable(name = "section_scope", joinColumns = {@JoinColumn(name="section_id")}, inverseJoinColumns = {@JoinColumn(name="scope_topic_id")} ) public List<ScopeTopic> getScopeTopic() …
112 hibernate  jpa 


8
实体错误映射中的另一个重复列
尽管发布了其他所有文章,但在MacOSX和NetBeans 7.2上,我找不到GlassFish的此错误的解决方案。 Here the error : SEVERE: Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method SEVERE: Exception while preparing the app SEVERE: [PersistenceUnit: supmarket] Unable to build EntityManagerFactory ... Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: com.supmarket.entity.Sale column: customerId (should be mapped with insert="false" update="false") 这里的代码: Sale.java @Entity public …

11
我是否需要persistence.xml中的<class>元素?
我有一个非常简单的persistance.xml文件: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"&gt; &lt;persistence-unit name="eventractor" transaction-type="RESOURCE_LOCAL"&gt; &lt;class&gt;pl.michalmech.eventractor.domain.User&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Address&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.City&lt;/class&gt; &lt;class&gt;pl.michalmech.eventractor.domain.Country&lt;/class&gt; &lt;properties&gt; &lt;property name="hibernate.hbm2ddl.auto" value="validate" /&gt; &lt;property name="hibernate.show_sql" value="true" /&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; 而且有效。 但是,当我删除&lt;class&gt;元素时,应用程序看不到实体(所有类都带有注释@Entity)。 是否有自动扫描@Entity类的机制?
110 java  hibernate  orm  jpa  annotations 


3
在JPA / Hibernate中正确使用flush()
我正在收集有关flush()方法的信息,但是我不清楚何时使用它以及如何正确使用它。从我的阅读中,我的理解是持久性上下文的内容将与数据库同步,即发布未完成的语句或刷新实体数据。 现在,我得到下列设想两个实体A和B(在一比一的关系,而不是由JPA执行或模拟)。A具有手动设置的复合PK,还具有自动生成的IDENTITY字段recordId。这recordId应B作为的外键写入到实体A。我要存钱,A并且要B进行一次交易。问题是自动生成的值A.recordId是不是在事务内可用,除非我做的一个显式调用em.flush()打完电话后em.persist()上A。(如果我有一个自动生成的IDENTITY PK,那么该值将直接在实体中更新,但是这里不是这种情况。) 可以em.flush()在一个事务中使用时造成什么伤害?

9
为什么将View中的Hibernate Open Session视为不良做法?
以及您使用哪种替代策略来避免LazyLoadExceptions? 我确实了解到公开会议存在以下问题: 在不同的jvm中运行的分层应用程序 事务仅在最后提交,并且很可能您希望在结果之前提交。 但是,如果您知道您的应用程序在单个vm上运行,为什么不使用视图中开放会话策略来减轻痛苦呢?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.