草庐IT

hibernate-ehcache

全部标签

java - Hibernate Natural ID 重复问题

一般来说,我是Hibernate和DB的新手,所以请原谅这个基本问题。我正在使用DISprotocol特别是DIS的Open-DIS实现。在DIS中,每个EntityStatePdu(包含模拟中实体的状态)都有一个EntityId对象,一个由3个整数组成的元组。我想将此对象用作自然ID,并同时维护一个标准代理ID。我的问题是我不知道如何确保数据库确定给定的EntityId已经存在并将该EntityId的主键用作EntityStatePdu中的外键。换句话说,假设我有两个EntityStatePdus,EntityID(1,2,3);即我们有来自同一实体的两个更新。我想要如下内容:表格:

java - 配置 Hibernate 以使用重命名的 persistence.xml

我们必须重命名persistence.xml以欺骗WebSphere7不要使用其内置的OpenJPA。当你使用Spring时,这很容易做到,你只需指示其实体管理器工厂使用另一个位置用于persistence.xml:但现在我们想在没有Spring的情况下使用普通的Hibernate/JPA,并且找不到任何方法来指定替代的persistence.xml位置。JPA2规范对此没有任何说明......有什么线索吗?是否可以指示Hibernate使用重命名的persistence.xml?======看起来让Hibernate读取重命名的persistence.xml文件是不可能的。在我的情况

java - Hibernate 3 Composite key one with GeneratedValue

我在数据库revisions和Pagu上有这两个表在Pagu模型中,我必须组合键:idint(由数据库自动生成)revision_id(修订版的外键)表如何在Hibernate3上实现这个?这是我想出来的@Entity@Table(name="pagu",schema="dbo",catalog="dbname")@IdClass(PaguId.class)publicclassPaguimplementsjava.io.Serializable{privateintid;privateintrevisiId;privateEntitasentitas;privateRevisirev

java - hibernate 以及如何避免模式名称更改

我使用Hibernate几年了,但不确定Query和Criteria的用法。我明白,Hibernate的优势之一是在一个地方控制字段名称。如果我有以下代码:Listcats=sess.createCriteria(Cat.class).add(Restrictions.like("name","Fritz%")).add(Restrictions.between("weight",minWeight,maxWeight)).list();如果我在java对象中更改Cat的“名称”会怎样?即使使用重构替换(如在Elipse中),它也不会将元素检测为需要更改的内容!如果是这样,您如何在Ja

java - Hibernate:在 StackOverflowError 中合并多对多结果

我有一个多对多的关系,链接表有一个额外的字段。因此,根据以下教程,关系是通过2个一对多关系完成的:http://www.mkyong.com/hibernate/hibernate-many-to-many-example-join-table-extra-column-annotation/comment-page-1/#comment-122181我有2个实体,第三个实体定义了链接表并包含一个@EmbeddableID字段。关系定义为:@OneToMany(fetch=FetchType.LAZY,mappedBy="pk.compound",cascade=CascadeType

java - 使用@Embedded 和@Id 的Hibernate 复合主键

我想知道hibernate是否支持使用字段和组件类型的复合主键。所以我有一个@Embeddable组件类型,我想将它用作主键以及另一列作为复合主键。所以我的表“DEPT_HISTORY”有复合主键(GROUP_DEPT、DEPTID、EFFDT)。我将GROUP_DEPT和DEPTID作为@Embeddable组件类型映射到Department类。@EmbeddablepublicclassDepartmentimplementsSerializable{privatestaticfinallongserialVersionUID=1L;privateStringdepartmentG

java - hibernate :字段列表中的未知列

我的Hibernate代码出现以下错误:com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:Unknowncolumn'bulletin0_.bulletin_date'in'fieldlist'我的表中没有这样的bulletin_date列,我的模型类中也没有这样的名称。它只是称为date。这是我收到错误的行。Queryquery=session.createQuery("fromBulletinwhereapproved=true");这是我的模型类(我省略了getter和setter):publicclassBulletin{@

java - 组织.hibernate.HibernateException : No TransactionManagerLookup specified on hibernate upgrade

我正在运行spring4.1.4、hibernate4.3.8、atomikos3.9.3、java8、tomcat8。当我启动我的服务器时,我在localhost.log中看到了上述异常,但我不确定除了我已经配置它的地方之外,在哪里配置TransactionManagerLookup。这在升级hibernate之前没有发生,因此很可能是版本控制问题。有谁能帮忙吗?仅供引用:catalina.out显示没有任何用处。只是:SEVERE[localhost-startStop-1]org.apache.catalina.core.StandardContext.startInternal

java - Hibernate引入二级缓存如何解决N+1问题?

在performancesection的Hibernate文档指出:AcompletelydifferentapproachtoproblemswithN+1selectsistousethesecond-levelcache.我不明白它如何解决问题。现实世界的例子和解释可能是什么? 最佳答案 很简单。假设您有以下域模型:@Entity(name="Post")publicclassPost{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;privateSt

java - 非必需的 1 到 1 映射的 Hibernate 投影/延迟加载

我有以下2个类(针对这篇文章进行了缩减)publicclassApplicationVOimplementsSerializable{/****/privatestaticfinallongserialVersionUID=-3314933694797958587L;@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="id",unique=true,nullable=false)privateIntegerid;@OneToOne(fetch=FetchType.LAZY,mappedBy="applica