Questions tagged «hibernate»

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




17
使用Hibernate和MySQL创建时间戳和最后更新时间戳
对于某些Hibernate实体,我们需要存储其创建时间和上次更新时间。您将如何设计? 您将在数据库中使用哪些数据类型(假设使用MySQL,可能与JVM时区不同)?数据类型是否支持时区? 你会在Java中使用什么数据类型(Date,Calendar,long,...)? 您将由谁负责设置时间戳(数据库,ORM框架(休眠)或应用程序程序员)? 您将使用哪些注释进行映射(例如@Temporal)? 我不仅在寻找可行的解决方案,而且还在寻找安全且设计良好的解决方案。


4
困惑:使用JPA和Hibernate的@NotNull与@Column(nullable = false)
当它们出现在的字段/获取器上时,它们@Entity之间有什么区别?(我通过Hibernate保留了Entity )。 它们每个都属于什么框架和/或规范? @NotNull位于中javax.validation.constraints。在javax.validation.constraints.NotNulljavadoc中说 带注释的元素不能为空 但是它没有提到数据库中元素的表示形式,那么为什么nullable=false要在列中添加约束呢?

14
如何在JPQL或HQL中进行限制查询?
在Hibernate 3中,有没有办法等效于以下HQL中的MySQL限制? select * from a_table order by a_table_column desc limit 0, 20; 如果可能的话,我不想使用setMaxResults。在旧版本的Hibernate / HQL中,这肯定是可能的,但似乎已经消失了。

18
PersistentObjectException:JPA和Hibernate传递以持久保留的分离实体
我有一个JPA持久对象模型,其中包含多对一关系:一个Account具有许多Transactions。A Transaction有一个Account。 这是一段代码: @Entity public class Transaction { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @ManyToOne(cascade = {CascadeType.ALL},fetch= FetchType.EAGER) private Account fromAccount; .... @Entity public class Account { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(cascade = {CascadeType.ALL},fetch= FetchType.EAGER, mappedBy = "fromAccount") private Set<Transaction> transactions; 我能够创建一个Account对象,向其中添加事务,并Account正确地持久保存该对象。但是,当我创建事务时,使用现有的已经持久化的Account并持久化该Transaction,我得到一个异常: 由以下原因引起:org.hibernate.PersistentObjectException:传递给持久对象的分离实体:org.hibernate.event.internal.DefaultPersistEventListener.onPersist上的com.paulsanwald.Account(DefaultPersistEventListener.java:141) 因此,我能够保留Account包含交易的,但不能保留包含的交易Account。我以为这是因为Account可能未附加,但是此代码仍然给我同样的异常: if (account.getId()!=null) …
237 java  hibernate  jpa  entity  persist 

22
Hibernate-拥有实体实例不再引用具有cascade =“ all-delete-orphan”的集合
尝试更新我的实体时遇到以下问题: "A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance". 我有一个父实体,并且有Set<...>一些子实体。当我尝试更新它时,我将获取所有要设置为此集合的引用并进行设置。 以下代码表示我的映射: @OneToMany(mappedBy = "parentEntity", fetch = FetchType.EAGER) @Cascade({ CascadeType.ALL, CascadeType.DELETE_ORPHAN }) public Set<ChildEntity> getChildren() { return this.children; } 根据此,我尝试仅清理Set <..>:如何“可能”解决问题,但没有成功。 如果您有任何想法,请告诉我。 谢谢!

18
Hibernate是否弃用了buildSessionFactory()配置方法
当我将Hibernate版本从3.6.8更新到4.0.0时,buildSessionFactory()在此行中收到有关过时方法的警告: private static final SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory(); Javadoc建议使用另一种方法 buildSessionFactory(ServiceRegistry serviceRegistry) 但是在文档中我发现不推荐使用的变体:( 这个小小的误解可以帮助我吗?

9
如何使JPA OneToOne关系变得懒惰
在我们正在开发的此应用程序中,我们注意到一个视图特别慢。我剖析了该视图,并注意到,即使数据库中只有两个对象要获取,hibernate也执行了一个查询,该查询花费了10秒。所有OneToMany和ManyToMany关系都是懒惰的,所以这不是问题。在检查实际执行的SQL时,我注意到查询中有80多个联接。 在进一步检查该问题时,我注意到该问题是由实体类的深入层次结构OneToOne和ManyToOne实体类之间的关系引起的。所以,我想,我只是让他们懒惰,那应该可以解决问题。但是注释@OneToOne(fetch=FetchType.LAZY)或@ManyToOne(fetch=FetchType.LAZY)似乎不起作用。我得到一个例外,或者然后它们实际上没有被代理对象替换,因此变得很懒。 有什么想法可以让我工作吗?请注意,我不使用persistence.xml定义关系或配置详细信息,所有操作均以Java代码完成。

9
Hibernate引发org.hibernate.AnnotationException:未为实体指定标识符:com..domain.idea.MAE_MFEView
为什么会出现此异常? package com.domain.idea; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.OneToOne; import javax.persistence.Table; import org.hibernate.annotations.AccessType; /** * object model for the view [InvestmentReturn].[vMAE_MFE] */ @Entity @Table(name="vMAE_MFE", schema="InvestmentReturn") @AccessType("field") public class MAE_MFEView { /** * trade property is a SuggestdTradeRecommendation object */ @OneToOne(fetch = FetchType.LAZY , cascade = { …


30
org.hibernate.HibernateException:如果未设置“ hibernate.dialect”,则对DialectResolutionInfo的访问不能为null
我正在尝试运行一个通过spring-jpa使用休眠模式的spring-boot应用程序,但出现此错误: Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.determineDialect(DialectFactoryImpl.java:104) at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:71) at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:205) at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:850) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843) at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:398) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842) at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:336) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1613) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1550) ... 21 …

8
如何使用JPA和Hibernate映射组合键?
在此代码中,如何为组合键生成Java类(如何在休眠状态下组合键): create table Time ( levelStation int(15) not null, src varchar(100) not null, dst varchar(100) not null, distance int(15) not null, price int(15) not null, confPathID int(15) not null, constraint ConfPath_fk foreign key(confPathID) references ConfPath(confPathID), primary key (levelStation, confPathID) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

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.