OpenJPA没有看到来自Mssql的临时表

时间:2014-10-24 08:47:06

标签: java sql-server openjpa

我在我的应用程序中使用MSSQL临时表时出现问题,该表与OpenJPA连接到base。 这是一个创建表脚本,我用它来创建我的临时表

create table ##EXT_DATABASE_RESULTS (
    ID bigint not null identity,
    RESULT_KEY uniqueidentifier not null,
    CREATE_TS datetime,
    ENTITY_ID uniqueidentifier not null,
    primary key (ID))

对象模型:

@Entity(name = "ext$DatabaseResults")
@Table(name = "##EXT_DATABASE_RESULTS", schema = "tempdb")
public class DatabaseResults {
@Id
@Persistent
@Column(name = "ID")
protected Long id;

@Column(name = "RESULT_KEY")
protected UUID resultKey;

@Column(name = "ENTITY_ID")
protected UUID entityId;}

当我尝试使用ext $ DatabaseResults选择一些数据时,我得到了异常 org.apache.openjpa.persistence.ArgumentException:表“tempdb。”## EXT_DATABASE_RESULTS“”给出的“com.haulmont.ext.core.entity.DatabaseResults”不存在。

我发现这个异常是从org.apache.openjpa.jdbc.meta.MappingInfo#createTable引发的,因为openjpa无法找到我的表。

1 个答案:

答案 0 :(得分:0)

OpenJPA不能直接使用临时表。我建议使用NativeQueries和ResultSetMappings将数据映射到您的实体。