首页 > 解决方案 > org.hibernate.AnnotationException:xxx.UserPDO.jobTitleDetail 上的@OneToOne 或@ManyToOne 引用了一个未知实体:xxx.JobTitleData

问题描述

我们正在尝试从 Spring 4.3.5 迁移到 5.3.7。当更新的 Spring jar 被替换并启动 jboss 时,我们收到以下错误消息。

Invocation of init method failed; nested exception is org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.gehcit.cp.security.pdo.UserPDO.jobTitleDetail references an unknown entity: com.gehcit.cp.security.data.JobTitleData

检查网络后,我发现了一些建议,但没有一个能解决我的问题。此代码之前使用 Spring 4.3.5 + Hibernate 5.3.16 组合。但是,我现在得到了例外。我怀疑问题出在 context-infra.xml 或 Spring Hibernate 兼容性中。

上下文-infra.xml:

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="entityInterceptor">
            <bean class="com.gehcit.cp.hibernate.LoggingInterceptor"/>
        </property>
        <property name="mappingLocations">
            <list>
                <value>classpath:com/gehcit/cp/infrastructure/persistence/hibernate/mappings/common/*.hbm.xml</value>
                <value>classpath:com/gehcit/cp/infrastructure/persistence/hibernate/mappings/${databaseType}/*.hbm.xml</value>
            </list>
        </property>
        <property name="annotatedClasses">
            <list>
                <value>com.gehcit.cp.security.pdo.UserPDO</value>
                <value>com.gehcit.cp.security.pdo.MuActivityLogData</value>
                <value>com.gehcit.cp.security.pdo.MuActivityLogTypeData</value>
                <value>com.gehcit.cp.cem.event.pdo.CEMEventData</value>
                <value>com.gehcit.cp.cem.subscription.pdo.SubscriptionData</value>
                <value>com.gehcit.cp.cem.subscription.pdo.SubscriptionRunDateData</value>
                <value>com.gehcit.cp.cem.subscriptiontype.pdo.SubscriptionTypeData</value>
            </list>
        </property>
        <property name="packagesToScan">
            <list>
                <value>com.gehcit.cp.chart.data</value>
                <value>com.gehcit.cp.chart.pdo</value>
                <value>com.gehcit.cp.erx.data</value>
                <value>com.gehcit.cp.event</value>
                <value>com.gehcit.cp.kb.data</value>
                <value>com.gehcit.cp.orders.data</value>
                <value>com.gehcit.cp.datanormalization.data</value>
                <value>com.gehcit.cp.reg.data</value>
                <value>com.gehcit.cp.security.data</value>
                <value>com.gehcit.cp.security.pdo.${databaseType}</value>
                <value>com.gehcit.cp.scheduling.pdo.${databaseType}</value>
                <value>com.gehcit.cp.cem.event.pdo</value>
                <value>com.gehcit.cp.cem.subscription.pdo</value>
                </list>
        </property>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.transaction.jta.platform">org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform</prop>
                <prop key="hibernate.transaction.coordinator_class">jta</prop>
                <prop key="hibernate.jta.UserTransaction">java:jboss/UserTransaction</prop>
                <prop key="hibernate.current_session_context_class">jta</prop>
                <prop key="hibernate.default_schema">${hibernate.default_schema}</prop>
            </props>
        </property>
    </bean>

即使我们注释“annotatedclasses”的第一行,第二个文件也会失败并出现同样的异常。我没有看到更新 Spring-orm 5.3.7 jar 中的“注释类”有任何变化。

有什么想法吗?

JobTitleData.java:

import java.math.BigDecimal;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import com.gehcit.cp.core.search.query.MappingType;
import com.gehcit.cp.core.search.query.PersistenceMappings;
import com.gehcit.cp.hibernate.PdoUtil;
import com.gehcit.cp.security.dto.JobTitle;

/**
 * JobTitle generated by MyEclipse - Hibernate Tools
 */

@Entity
@Table(name = "JOBTITLE")
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name = "jobTitle")
public class JobTitleData implements java.io.Serializable {

    private static final long serialVersionUID = 4021880971475295148L;

    /**
     * PDO properties
     */
    public enum Property implements PersistenceMappings.MappingDetail {
        
        jtid(BigDecimal.class,      MappingType.PROPERTY),
        description(String.class,   MappingType.PROPERTY),
        rcopiaMemberTypeMedlistsId(BigDecimal.class,        MappingType.PROPERTY),
        badPropertyName(null,       null);
        
        private final Class clazz;
        private MappingType mappingType;
        
        private Property(Class clazz, MappingType mappingType) {
            this.clazz = clazz;
            this.mappingType = mappingType;
        }
        
        public static Property get(String name) {
            try {
                return Enum.valueOf(Property.class, name);
            } catch (Throwable t) {
                return badPropertyName;
            }
        }

        // PersistenceMappings.MappingDetail interface implementation
        
        public String getName() {
            return toString();
        }
        public boolean isAssociation() {
            return (mappingType == null || mappingType == MappingType.PROPERTY) ? false : true;
        }
        public Class<?> getType() {
            return clazz;
        }
        
    };

    // Fields
    private BigDecimal  jtid;
    private String description;
    private BigDecimal rcopiaMemberTypeMedlistsId;

    // Constructors

    /** default constructor */
    public JobTitleData() {
    }

    public JobTitleData(BigDecimal jtid) {
        this.jtid = jtid;
    }
    
    // Property accessors

    @Id
    @Column(name = "JTID")
    @XmlElement(name = "jobTitleID")
    public BigDecimal  getJtid() {
        return this.jtid;
    }

    public void setJtid(BigDecimal  jtid) {
        this.jtid = jtid;
    }

    @Column(name = "DESCRIPTION")
    public String getDescription() {
        return this.description;
    }

    public void setDescription(String description) {
        this.description = description;
    }
    
    @Column(name = "RCOPIAMEMBERTYPEMEDLISTSID")
    public BigDecimal getRcopiaMemberTypeMedlistsId() {
        return rcopiaMemberTypeMedlistsId;
    }

    

}

用户PDO.java:

package com.gehcit.cp.security.pdo;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

import org.apache.log4j.Logger;
import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.NamedQueries;
import org.hibernate.annotations.NamedQuery;
import org.hibernate.criterion.Restrictions;
import org.hibernate.query.NativeQuery;

import com.gehcit.cp.security.data.JobTitleData;

/**
 * User generated by MyEclipse - Hibernate Tools
 */
@NamedQueries(
    @NamedQuery(
            name = "getLoggedInUser",
            query = "from UserPDO as u where u.loginname= :loginName"
        )
)
@HibernateEntity(testEntity = false, mappings = {
        @HibernateEntityMapping(type = HibernateMappingType.GENERIC)
})
@Entity
@Table(name = "USR")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = "com.gehcit.cp.security.pdo.UserPDO")
@XmlAccessorType(XmlAccessType.PROPERTY)
@XmlRootElement(name = "userData")
public class UserPDO implements java.io.Serializable {
    private static final long serialVersionUID = 7943380038873231725L;
    
    /**
     * The data access object for the <code>UserPDO<code>.
     */
    private static GenericDataAccessObject<UserPDO> dao;
    
    private static Logger log = Logger.getLogger(UserPDO.class);
    
    /**
     * This set contains all of the properties that are not associations to other objects.
     */
    public static final Set<Property> COLUMNS = EnumSet.range(Property.loginname, Property.pmpRole);

    /**
     * This set contains all of the properties that are associations to other objects.
     */
    public static final Set<Property> ASSOCIATIONS = EnumSet.range(Property.jobTitleDetail, Property.jobTitleDetail);

    // Fields
    private String loginname;
    private String password;
    private String grouplist;
    private BigDecimal pvid;
    private Date passchange;
    private String rolelist;
    private String lastname;
    private String firstname;
    private String middlename;
    private BigDecimal homelocation;
    private BigDecimal currentloc;
    private BigDecimal activedept;
    private String deanumber;
    private String licnumber;
    private String status;
    private String phone;
    private String authloclist;
    private BigDecimal isrespprov;
    private String genprop;
    private String pidlist;
    private BigDecimal specialty;
    private BigDecimal loginattempts;
    private BigDecimal globalid;
    private String memberid;
    private String subscriptionureg;
    private String datakey;
    private Date dbCreateDate;
    private Date dbUpdatedDate;
    private Date lastLoginDate;
    private Date activationdate;
    private Date expirationdate;
    private String prescriberid;
    private String npi;
    private String upin;
    private String data2000;
    private String spi;
    private BigDecimal jtid;
    private JobTitleData jobTitleDetail;
    private String mqicusername;
    private DoctorFacilityPDO doctorFacilityDetail;
    private String tocElectronicAddress;
    private Boolean isEligibleProfessional;
    private Boolean isCredentialed;
    private BigDecimal pmpRole;

    
    /**
     * This enumeration maps a <code>UserPDO</code> property name. It is used
     * by the <code>getDTO(...)</code> method to select the returned columns
     * Any changes made to the contents of the PDO need to be reflected in this structure.
     *
     */
    public enum Property implements PersistenceMappings.MappingDetail {
        
        /**
         * The loginname property.
         */
        loginname(String.class, false),
        
        /**
         * The password property.
         */
        password(String.class, false),
        
        /**
         * The grouplist property.
         */
        grouplist(String.class, false),
        
        /**
         * The pvid property.
         */
        pvid(BigDecimal.class, false),
        
        /**
         * The passchange property.
         */
        passchange(Date.class, false),

        /**
         * The jobtitle property.
         */
        jobtitle(BigDecimal.class, false),
        
        /**
         * The rolelist property.
         */
        rolelist(String.class, false),
        
        /**
         * The lastname property.
         */
        lastname(String.class, false),
        
        /**
         * The firstname property.
         */
        firstname(String.class, false),
        
        /**
         * The middlename property.
         */
        middlename(String.class, false),
        
        /**
         * The homelocation property.
         */
        homelocation(BigDecimal.class, false),
        
        /**
         * The currentloc property.
         */
        currentloc(BigDecimal.class, false),
        
        /**
         * The activedept property.
         */
        activedept(BigDecimal.class, false),
        
        /**
         * The deanumber property.
         */
        deanumber(String.class, false),
        
        /**
         * The licnumber property.
         */
        licnumber(String.class, false),
        
        /**
         * The status property.
         */
        status(String.class, false),
        
        /**
         * The phone property.
         */
        phone(String.class, false),
        
        /**
         * The authloclist property.
         */
        authloclist(String.class, false),
        
        /**
         * The isrespprov property.
         */
        isrespprov(BigDecimal.class, false),
        
        /**
         * The genprop property.
         */
        genprop(String.class, false),
        
        /**
         * The pidlist property.
         */
        pidlist(String.class, false),
        
        /**
         * The specialty property.
         */
        specialty(BigDecimal.class, false),
        
        /**
         * The loginattempts property.
         */
        loginattempts(BigDecimal.class, false),
        
        /**
         * The globalid property.
         */
        globalid(BigDecimal.class, false),
        
        /**
         * The memberid property.
         */
        memberid(String.class, false),
        
        /**
         * The subscriptionureg property.
         */
        subscriptionureg(String.class, false),
        
        /**
         * The datakey property.
         */
        datakey(String.class, false),
        
        /**
         * The dbCreateDate property.
         */
        dbCreateDate(Date.class, false),

        /**
         * The dbUpdatedDate property.
         */
        dbUpdatedDate(Date.class, false),

        /**
         * The lastLoginDate property.
         */
        lastLoginDate(Date.class, false),
        
        /**
         * The activationdate property.
         */
        activationdate(Date.class, false),

        /**
         * The expirationdate property.
         */
        expirationdate(Date.class, false),

        /**
         * The prescriberid property.
         */
        prescriberid(String.class, false),
        
        /**
         * The npi property.
         */
        npi(String.class, false),

        /**
         * The upin property.
         */
        upin(String.class, false),

        /**
         * The spi property
         */
        spi(String.class, false),
        
        /**
         * The data2000 property.
         */
        data2000(String.class, false),
        
        mqicusername(String.class, false),
        
        /**
         * This is for the pmpRole
         */
        pmpRole(BigDecimal.class, false),
        
        /**
         * The jobTitleChild property.
         */
        jobTitleDetail(JobTitleData.class, true),
        
        /**
         * This is for the toc electroninc email address)
         */
        tocElectronicAddress(String.class, false),
        
        /**
         * The enum returned when a bad property name is passed into the get(String) static helper.
         */
        badPropertyName(null, false);
        
        private final Class<?> clazz;
        private boolean association;
        
        private Property(Class<?> clazz, boolean association) {
            this.clazz = clazz;
            this.association = association;
        }

        // PersistenceMapping interface
        
        public boolean isAssociation() {
            return association;
        }

        public Class<?> getType() {
            return clazz;
        }
        
        public String getName() {
            return this.toString();
        }
        
        /**
         * Helper that creates the enum from a string.
         * 
         * @param name
         *            The status code string.
         * @return The enum value or <code>BadErrorCode</code> if the status code parameter does not map to a
         *         <code>UserPDO</code> value.
         */
        public static Property get(String name) {
            try {
                return Enum.valueOf(Property.class, name);
            } catch (RuntimeException e) {
                if (log.isDebugEnabled()) {
                    log.debug("Exception converting '" + name + "' to UserPDO.Property", e);
                }
                return badPropertyName;
            }
        }
    }
    
    /**
     * Accessor for the <code>UserPDO</code> data access object.
     * 
     * @return The <code>UserPDO</code> data access object.
     */
    public static GenericDataAccessObject<UserPDO> getDAO() {
        if (dao == null) {
            dao = new GenericDataAccessObject<UserPDO>(log) {
                // use an anonymous class since you don't need to derive from the abstract generic
            };
        }
        return dao;
    }

    // Constructors

    /** default constructor */
    public UserPDO() {      
    }

    /** minimal constructor */
    public UserPDO(BigDecimal  pvid) {
        this.pvid = pvid;       
    }

    // Property accessors
    @Id
    @Column(name = "PVID")
    @XmlElement(name = "providerID")
    public BigDecimal  getPvid() {
        return this.pvid;
    }

    public void setPvid(BigDecimal  pvid) {
        this.pvid = pvid;
    }

    
    @Column(name = "LOGINNAME")
    @XmlElement(name = "loginName")
    public String getLoginname() {
        return this.loginname;
    }

    public void setLoginname(String loginname) {
        this.loginname = loginname;
    }

    @Column(name = "PASSWORD")
    public String getPassword() {
        return this.password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Column(name = "GROUPLIST")
    public String getGrouplist() {
        return this.grouplist;
    }

    public void setGrouplist(String grouplist) {
        this.grouplist = grouplist;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "PASSCHANGE")
    public Date getPasschange() {
        return this.passchange;
    }

    public void setPasschange(Date passchange) {
        this.passchange = passchange;
    }

    @Column(name = "JOBTITLE")
    public BigDecimal  getJobTitleID() {
        return (jtid);
        //return this.jobTitleDetail != null ? this.jobTitleDetail.getJtid() : null;
    }

    public void setJobTitleID(BigDecimal jtid) {
        this.jtid = jtid;
//      if (getJobTitleDetail() != null) {
//          this.jobTitleDetail.setJtid(jobtitle);
//      } else {
//          this.setJobTitleDetail(new JobTitleData(jobtitle));
//      }
    }

    @Column(name = "ROLELIST")
    public String getRolelist() {
        return this.rolelist;
    }

    public void setRolelist(String rolelist) {
        this.rolelist = rolelist;
    }

    @Column(name = "LASTNAME")
    @XmlElement(name = "lastName")
    public String getLastname() {
        return this.lastname;
    }

    public void setLastname(String lastname) {
        this.lastname = lastname;
    }

    @Column(name = "FIRSTNAME")
    @XmlElement(name = "firstName")
    public String getFirstname() {
        return this.firstname;
    }

    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }

    @Column(name = "MIDDLENAME")
    @XmlElement(name = "middleName")
    public String getMiddlename() {
        return this.middlename;
    }

    public void setMiddlename(String middlename) {
        this.middlename = middlename;
    }

    @Column(name = "HOMELOCATION")
    @XmlElement(name = "homeLocation")
    public BigDecimal  getHomelocation() {
        return this.homelocation;
    }

    public void setHomelocation(BigDecimal  homelocation) {
        this.homelocation = homelocation;
    }

    @Column(name = "CURRENTLOC")
    @XmlElement(name = "currentLocation")
    public BigDecimal  getCurrentloc() {
        return this.currentloc;
    }

    public void setCurrentloc(BigDecimal  currentloc) {
        this.currentloc = currentloc;
    }

    @Column(name = "ACTIVEDEPT")
    public BigDecimal getActivedept() {
        return this.activedept;
    }

    public void setActivedept(BigDecimal  activedept) {
        this.activedept = activedept;
    }

    @Column(name = "DEANUMBER")
    @XmlElement(name = "deaNumber")
    public String getDeanumber() {
        return this.deanumber;
    }

    public void setDeanumber(String deanumber) {
        this.deanumber = deanumber;
    }

    @Column(name = "LICNUMBER")
    @XmlElement(name = "licenseNumber")
    public String getLicnumber() {
        return this.licnumber;
    }

    public void setLicnumber(String licnumber) {
        this.licnumber = licnumber;
    }

    @Column(name = "STATUS")
    public String getStatus() {
        return this.status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Column(name = "PHONE")
    public String getPhone() {
        return this.phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    @Column(name = "AUTHLOCLIST")
    @XmlElement(name = "authorizedLocationOfCares")
    public String getAuthloclist() {
        return this.authloclist;
    }

    public void setAuthloclist(String authloclist) {
        this.authloclist = authloclist;
    }

    @Column(name = "ISRESPPROV")
    public BigDecimal  getIsrespprov() {
        return this.isrespprov;
    }

    public void setIsrespprov(BigDecimal  isrespprov) {
        this.isrespprov = isrespprov;
    }

    @Column(name = "GENPROP")
    public String getGenprop() {
        return this.genprop;
    }

    public void setGenprop(String genprop) {
        this.genprop = genprop;
    }

    @Column(name = "PIDLIST")
    public String getPidlist() {
        return this.pidlist;
    }

    public void setPidlist(String pidlist) {
        this.pidlist = pidlist;
    }

    @Column(name = "SPECIALTY")
    public BigDecimal  getSpecialty() {
        return this.specialty;
    }

    public void setSpecialty(BigDecimal  specialty) {
        this.specialty = specialty;
    }

    @Column(name = "LOGINATTEMPTS")
    @XmlElement(name = "loginAttempts")
    public BigDecimal  getLoginattempts() {
        return this.loginattempts;
    }

    public void setLoginattempts(BigDecimal  loginattempts) {
        this.loginattempts = loginattempts;
    }

    @Column(name = "GLOBALID")
    public BigDecimal  getGlobalid() {
        return this.globalid;
    }

    public void setGlobalid(BigDecimal  globalid) {
        this.globalid = globalid;
    }

    @Column(name = "MEMBERID")
    public String getMemberid() {
        return this.memberid;
    }

    public void setMemberid(String memberid) {
        this.memberid = memberid;
    }

    @Column(name = "SUBSCRIPTIONUREG")
    public String getSubscriptionureg() {
        return this.subscriptionureg;
    }

    public void setSubscriptionureg(String subscriptionureg) {
        this.subscriptionureg = subscriptionureg;
    }

    @Column(name = "DATAKEY")
    public String getDatakey() {
        return this.datakey;
    }

    public void setDatakey(String datakey) {
        this.datakey = datakey;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "DB_CREATE_DATE")
    public Date getDbCreateDate() {
        return this.dbCreateDate;
    }

    public void setDbCreateDate(Date dbCreateDate) {
        this.dbCreateDate = dbCreateDate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "DB_UPDATED_DATE")
    public Date getDbUpdatedDate() {
        return this.dbUpdatedDate;
    }

    public void setDbUpdatedDate(Date dbUpdatedDate) {
        this.dbUpdatedDate = dbUpdatedDate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "LAST_LOGIN_DATE")
    public Date getLastLoginDate() {
        return this.lastLoginDate;
    }

    public void setLastLoginDate(Date lastLoginDate) {
        this.lastLoginDate = lastLoginDate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "ACTIVATIONDATE")
    public Date getActivationdate() {
        return this.activationdate;
    }

    public void setActivationdate(Date activationdate) {
        this.activationdate = activationdate;
    }

    @Temporal(TemporalType.DATE)
    @Column(name = "EXPIRATIONDATE")
    public Date getExpirationdate() {
        return this.expirationdate;
    }

    public void setExpirationdate(Date expirationdate) {
        this.expirationdate = expirationdate;
    }

    @Column(name = "PRESCRIBERID")
    public String getPrescriberid() {
        return this.prescriberid;
    }

    public void setPrescriberid(String prescriberid) {
        this.prescriberid = prescriberid;
    }
    @XmlTransient
    @ManyToOne(fetch = FetchType.LAZY, targetEntity = JobTitleData.class)
    @JoinColumn(name = "JOBTITLE", insertable = false, updatable = false)
    public JobTitleData getJobTitleDetail() {
        return this.jobTitleDetail;
    }

    public void setJobTitleDetail(JobTitleData jobTitleDetail) {
        this.jobTitleDetail = jobTitleDetail;
    }

    @Column(name = "DATA2000")
    public String getData2000() {
        return data2000;
    }

    public void setData2000(String data2000) {
        this.data2000 = data2000;
    }

    @Column(name = "NPI")
    public String getNpi() {
        return npi;
    }
    
    public void setNpi(String npi) {
        this.npi = npi;
    }
    
    @Column(name = "SPI")
    public String getSpi() {
        return spi;
    }
    
    public void setSpi(String spi) {
        this.spi = spi;
    }

    @Column(name = "UPIN")
    public String getUpin() {
        return upin;
    }

    public void setUpin(String upin) {
        this.upin = upin;
    }

    @Column(name = "MQIC_USER_NAME")
    public String getMqicusername() {
        return mqicusername;
    }

    public void setMqicusername(String mqicusername) {
        this.mqicusername = mqicusername;
    }
    
    @Column(name = "TOCElectronicAddress")
    public String getTocElectronicAddress() {
        return tocElectronicAddress;
    }

    public void setTocElectronicAddress(String tocElectronicAddress) {
        this.tocElectronicAddress = tocElectronicAddress;
    }
    
    @Column(name = "PMPRole")
    public BigDecimal getPmpRole() {
        return pmpRole;
    }

    public void setPmpRole(BigDecimal pmpRole) {
        this.pmpRole = pmpRole;
    }
    
    @Transient
    @XmlTransient
    public DoctorFacilityPDO getDoctorFacilityDetail() {
        return doctorFacilityDetail;
    }

    public void setDoctorFacilityDetail(DoctorFacilityPDO doctorFacilityDetail) {
        this.doctorFacilityDetail = doctorFacilityDetail;
    }
    
    @Column(name = "IS_EP")
    public Boolean isEligibleProfessional() {
        if (isEligibleProfessional == null) {
            isEligibleProfessional = Boolean.FALSE;
        }
        
        return (isEligibleProfessional);
    }
    
    public void setEligibleProfessional(Boolean isEligibleProfessional) {
        this.isEligibleProfessional = isEligibleProfessional;
    }
    
    @Column(name = "IS_CREDENT")
    public Boolean isCredentialed() {
        if (isCredentialed == null) {
            isCredentialed = Boolean.FALSE;
        }
        
        return isCredentialed;
    }

    public void setCredentialed(Boolean isCredentialed) {
        this.isCredentialed = isCredentialed;
    }

    /**
     * Retrieves the data transfer object that corresponds to this persistence object. There
     * are no sub-query objects returned using this method.
     * @return User DTO
     */
    @Transient
    @XmlTransient
    public User getDTO() {
        return getDTO(COLUMNS);
        
}

标签: springhibernatespring-mvcjpaspring-orm

解决方案


推荐阅读