草庐IT

Hibernate

全部标签

java - HIbernate 不获取数据库记录中字段为空的值

我正在使用下面的hibernate代码从数据库中获取数据。SessionFactoryfactory=null;Sessionsession=null;try{factory=getSessionFactory();session=factory.openSession();finalCriteriacriteria=session.createCriteria(CrfEmailDataBean.class);criteria.add(Restrictions.eq(CAMPN_NBR,campNbr));returnList=criteria.list();}catch(Except

java - hibernate : Splitting table automatically every month

我正在使用PostgreSQL和Hibernate开发一个Spring-MVC应用程序,其中我有几个表的行数超过10万(10万)。这些表,我95%的时间只访问最新的数据,筛选所有这些行非常耗时。很多时候查询规划器甚至不使用索引(出于我不知道的原因)。然后我想到每周拆分数据库表,这样我们就可以先访问最近几个月的数据库,然后如果用户请求,则直接将以前表的更多结果添加到请求中。执行的大多数查询都需要JOIN,因为表是一对多映射的。行数大于10万的模型文件之一。型号:@Entity@Table(name="groupnotehistory")publicclassGroupNoteHistor

java - 使用 Hibernate Criteria API,如何查询仅存在于某些属性类型的属性的子属性

考虑类Account、RealAccount、VirtualAccount和Operation,这样:classAccount{}classRealAccountextendsAccount{Stringname;}classVirtualAccountextendsAccount{}classOperation{Accountaccount;}这意味着:只有RealAccount有一个名为name的字段。Operation的账户可以是RealAccount或VirtualAccount。我想查询属于具有特定名称的RealAccount的所有Operation:session.crea

java - 单向多对多只读关系

我有一个实体学生和一个实体类(class)。一个学生可以关联到0个或多个类(class)。反之亦然,一个类(class)可以关联0个或多个学生。学生实体:@Data@Entity(name="student")publicclassStudent{@IdprivateIntegerid;privateStringname;@ManyToMany(fetch=EAGER)@JoinTable(name="student_course",joinColumns=@JoinColumn(name="studentId",referencedColumnName="id",insertable

java - 存在于多个目录中的实体的 Hibernate 注释

我有一个由Hibernate映射到数据库目录“Active”中的数据库表的Person实体。一段时间后,“Activity”目录中此数据库表中的记录被存档/移动到数据库目录“历史”中该表的精确副本。我需要从Activity目录和历史目录中检索。有没有比创建一个从2个类扩展的抽象类更好的方法来使用Hibernate注释对其进行建模。这就是我现在拥有的。@MappedSuperclasspublicabstractclassPerson{@IdprivateIntegerid;privateStringname;}@Entity@Table(name="Person",catalog="A

java - 具有大量并发事务的 Hibernate 二级缓存 ObjectNotFoundException

我们有一个Java应用程序,它使用MySQL、Hibernate(3.5.1-Final)和EHcache(1.2.3)作为我们的二级缓存。我们的hibernate.properties隔离级别是Read-committedisolation=2#2-Readcommittedisolationhibernate.connection.isolation=2在大量并发事务下,我们发现某些集合(数据库关联)​​在加载时会抛出ObjectNotFoundException并且似乎二级缓存正在返回该集合的旧副本。我们有许多不同类型的事务访问此集合(仅阅读),但只有几个会向其中添加/删除项目。

java - Hibernate - 一对多关系和 orphanRemoval 级联

我在Hibernate引用书的第21章中有一个基本的一对多父/子关系。级联仅从子级到父级(持久级联只是因为我不想删除子级时删除父级)。当我将一个child添加到parent并保存child时,我有一个TransientObjectException...@EntitypublicclassParentimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;@OneToMany(mappedBy="parent",orphanRemoval=true)privateListc

java - Hibernate中级联删除的问题

这个问题已经被问过很多次了,至今没有看到满意的答案,所以我再问一次。想象以下情况:publicclassUser{...@Cascade(value={CascadeType.DELETE})@OneToMany(fetch=FetchType.LAZY)@JoinColumn(name="followerId")publicListfollowedLocations;...}publicclassLocationFollower{@Id@GeneratedValue(strategy=GenerationType.AUTO)@Column(name="id",nullable=fal

java - 在 Play 中使用 Map 作为模型的属性

我正在尝试使用map作为我的一个模型属性的类型。我们以这两个类为例:@EntitypublicclassFooextendsModel{@OneToMany(mappedBy="foo",cascade=CascadeType.ALL)@MapKey(name="name")publicMapbars;publicStringname;}@EntitypublicclassBarextendsModel{@ManyToOnepublicFoofoo;publicStringname;}当然非常简单,但这是基本思想。因此,我想要实现的目标是获取一个以Bars作为值,以名称作为Foo键的映

面对 Set 的循环依赖时的 Java 序列化错误

我的项目是EJB3上的java项目,使用Hibernate和Weblogic服务器。为了方便起见(据我所知,hibernate很典型),一些实体包含循环依赖(父知道子,子知道父)。此外,对于某些子类-hashCode()和equals()方法取决于它们的父类(因为它是唯一键)。在工作时,我看到了一个奇怪的行为-从服务器返回到客户端的一些Set,虽然包含正确的元素,但表现得好像它们什么都不包含一样。例如,一个像这样的简单测试:set.contains(set.toArray()[0])虽然hashCode()返回了false>方法不错。经过大量调试后,我能够生成2个重现问题的简单类(我可