相关疑难解决方法(0)

从具有嵌入式id的hibernate查询返回的空列表

我有一个嵌入密钥的实体.实体只有键作为字段,键有7个字段,其中一些可以为空.

当我运行以下查询时:

Criteria criteria = session.createCriteria(getPersistentClass());
criteria.add(Restrictions.eq("id.profPropertyId", profileExtensionName));
Object obj = criteria.list();
log.info(obj);
return (List<ProfileExtensions>) obj; 
Run Code Online (Sandbox Code Playgroud)

我得到了正确的结果数,但每个结果都是null(即我得到4000个空对象的列表).我尝试过使用HQL查询和标准,但它们都给出了相同的结果.

映射类是从现有数据库生成的.

为查询生成的SQL如下所示

select this_.PROF_DATA_TYPE as PROF1_14_0_, this_.PROF_EXT_KEY as PROF2_14_0_, 
       this_.PROF_KEY as PROF3_14_0_, this_.PROF_NAME as PROF4_14_0_, 
       this_.PROF_PROPERTY_ID as PROF5_14_0_, this_.PROF_VALUE as PROF6_14_0_, 
       this_.PROF_VALUE_EXTENDED as PROF7_14_0_ 
from EMPINST.PROFILE_EXTENSIONS this_ 
where this_.PROF_PROPERTY_ID=?
Run Code Online (Sandbox Code Playgroud)

看起来它应该返回正确的数据.

映射文件非常简单(并从模式生成:

// Generated Oct 18, 2010 11:08:08 PM by Hibernate Tools 3.2.2.GA
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

@Entity
@Table(name="PROFILE_EXTENSIONS"
    ,schema="EMPINST"
    , uniqueConstraints = @UniqueConstraint(columnNames={"PROF_KEY", …
Run Code Online (Sandbox Code Playgroud)

hibernate hibernate-criteria

10
推荐指数
2
解决办法
8220
查看次数

JPA复合键可为空的列

我正在使用Hibernate的JPA impl对某些表进行建模。我在映射表时遇到了麻烦:

  • 没有主键
  • 在4列上具有唯一索引,其中3列可以为空

我试图破解它并将索引定义为复合ID,但是由于某些列可为空,因此无法正常工作。JPA / Hibernate有可能吗?

谢谢

java hibernate jpa composite-id

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

hibernate ×2

composite-id ×1

hibernate-criteria ×1

java ×1

jpa ×1