首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到Hibernate实体

未找到Hibernate实体
EN

Stack Overflow用户
提问于 2018-08-22 18:00:15
回答 1查看 410关注 0票数 1

我目前正在处理一个遗留项目,我需要你的帮助。我是Hibernate的初学者,所以请耐心等待。

因此,这个应用程序使用hibernate 4,它有一些实体可以工作,数据库连接也可以工作。因此,基于当前存在的内容,我创建了一个新实体来匹配我的JSON_REQUEST表。

entities.hbm.xml:

代码语言:javascript
复制
<hibernate-mapping>

<class entity-name="JsonRequest" name="com.dgp.cdn.model.impl.JsonRequest" table="JSON_REQUEST">
    <id name="id" type="long" column="ID">
        <generator class="sequence">
            <param name="sequence">SEQ_JSON_REQUEST</param>
        </generator>
    </id>
    <property name="status" column="STATUS" type="string">
        <type name="org.hibernate.type.EnumType">
            <param name="enumClass">com.dgp.cdn.model.CDNJsonRequestStatus</param>
            <param name="useNamed">true</param>
        </type>
    </property>
    <property name="requestType" column="REQUEST_TYPE" type="string">
        <type name="org.hibernate.type.EnumType">
            <param name="enumClass">com.dgp.cdn.model.CDNJsonRequestType</param>
            <param name="useNamed">true</param>
        </type>
    </property>
    <property name="fileId" column="FILE_ID" type="long" />
    <property name="nodeId" column="NODE_ID" type="long" />
    <property name="nbRetry" column="NB_RETRY" type="integer" />
    <property name="creationDate" column="CREATION_DATE" type="timestamp" />
    <property name="updateDate" column="UPDATE_DATE" type="timestamp" />
</class>

JsonRequest.java:

代码语言:javascript
复制
public class JsonRequest extends AbstractEntity /* provides an id field and its getter.setter */ implements Serializable {

private static final long serialVersionUID = 1L;

private CDNJsonRequestStatus status;
private CDNJsonRequestType requestType;
private Long fileId;
private Long nodeId;
private Integer nbRetry;
private Date creationDate;
private Date updateDate;

public JsonRequest() {
    super();
}

public JsonRequest(CDNJsonRequestType requestType, Long fileId) {
    super();
    this.status = CDNJsonRequestStatus.TO_PROCESS;
    this.requestType = requestType;
    this.fileId = fileId;
    this.nbRetry = 0;
}

public CDNJsonRequestStatus getStatus() {
    return status;
}
public void setStatus(CDNJsonRequestStatus status) {
    this.status = status;
}
public CDNJsonRequestType getRequestType() {
    return requestType;
}
public void setRequestType(CDNJsonRequestType requestType) {
    this.requestType = requestType;
}
public Long getFileId() {
    return fileId;
}
public void setFileId(Long fileId) {
    this.fileId = fileId;
}
public Long getNodeId() {
    return nodeId;
}
public void setNodeId(Long nodeId) {
    this.nodeId = nodeId;
}
public Integer getNbRetry() {
    return nbRetry;
}
public void setNbRetry(Integer nbRetry) {
    this.nbRetry = nbRetry;
}
public Date getCreationDate() {
    return creationDate;
}
public void setCreationDate(Date creationDate) {
    this.creationDate = creationDate;
}
public Date getUpdateDate() {
    return updateDate;
}
public void setUpdateDate(Date updateDate) {
    this.updateDate = updateDate;
}

@Override
public String toString() {
    return "JsonRequest [id=" + getId() + ", status=" + status + ", requestType=" + requestType + ", fileId=" + fileId
            + ", nodeId=" + nodeId + ", nbRetry=" + nbRetry + ", creationDate=" + creationDate + ", updateDate="
            + updateDate + "]";
}}

映射放在一个PersistenceMapping bean中,实体在应用程序属性中。

代码语言:javascript
复制
    @Configuration
public class PersistenceConfiguration {

    @Bean
    public HibernateJpaSessionFactoryBean hibernateJpaSessionFactoryBean() {
        return new HibernateJpaSessionFactoryBean();
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.jpa.mapping", ignoreUnknownFields = false)
    public PersistenceMapping persistenceMapping() {
        return new PersistenceMapping();
    }

    @Bean
    public PersistenceBeanPostProcessor persistenceBeanPostProcessor() {
        return new PersistenceBeanPostProcessor();
    }

}

下面是application.yml中的映射路径

代码语言:javascript
复制
spring:
datasource:
    initialSize: 2
    maxActive: 40
    testWhileIdle: true
    validationQueryTimeout: 5
jpa:
    openInView: false
    show_sql: true
    generate-ddl: false
    mapping:
        resources:
             <!-- other entities mapping that works -->
            - META-INF/persistence/integration/entities.hbm.xml
            - META-INF/persistence/integration/queries.hbm.xml
            - META-INF/persistence/cdn/file/entities.hbm.xml
            - META-INF/persistence/cdn/integration/nativefs/entities.hbm.xml
            - META-INF/persistence/cdn/plugin/http/entities.hbm.xml
            - META-INF/persistence/cdn/plugin/nimble/entities.hbm.xml
            - META-INF/persistence/cdn/plugin/smooth/entities.hbm.xml
            - META-INF/persistence/cdn/actionRequest/entities.hbm.xml
            - META-INF/persistence/cdn/actionRequest/queries.hbm.xml
            - META-INF/persistence/cdn/publicRequest/entities.hbm.xml
            - META-INF/persistence/cdn/publicRequest/queries.hbm.xml
            <!-- the new entity mapping i'm trying to impement -->
            - META-INF/persistence/cdn/jsonStorage/entities.hbm.xml
            <!-- this one is empty for now -->
            - META-INF/persistence/cdn/jsonStorage/queries.hbm.xml
    hibernate:
        ddl-auto: none
        naming-strategy: org.hibernate.cfg.EJB3NamingStrategy
    properties:
        hibernate.cache.use_second_level_cache: false
        hibernate.cache.use_query_cache: false
        hibernate.generate_statistics: true
        hibernate.cache.region.factory_class: org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory
        hibernate.current_session_context_class: org.springframework.orm.hibernate4.SpringSessionContext

我希望你能帮我找出我错过了什么。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-24 16:39:46

所以,事实证明这是因为使用了entity-name="JsonRequest"。它导致hibernate不能正确地将类绑定到映射。我把它取下来了,它起作用了。此外,我还必须删除枚举属性的类型字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51964349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档