I am using Spring 3.2.3, JPA 2.1, JUnit 4.11. I try to run a junit test, and I continue to get an abstract type of circuit - an unknown error. Here is my essence (truncated in space, it has all the getters and setters):
@Entity @Table(name = "WEB_PROFILES") public class TestWebProfile implements Serializable { private static final long serialVersionUID = 1L; @Transient private String forward; @Column(name = "ACCESS_FLAG") private String accessFlag; @Temporal(TemporalType.DATE) @Column(name = "ACCESS_FLAG_UPD_DATE") private Date accessFlagUpdDate; @Column(name = "ACCESS_RESET_INTERVAL") private BigDecimal accessResetInterval; @Column(name = "ACCOUNT_TYPE") private String accountType; @Column(name = "CREATED_BY") private String createdBy; @Column(name = "E_MAIL") private String eMail; @Column(name = "FAILED_LOGIN_ATTEMPTS") private BigDecimal failedLoginAttempts; @Column(name = "FIRST_NAME") private String firstName; @Temporal(TemporalType.DATE) @Column(name = "FROI_ACCESS_APPROVE_DENY_DATE") private Date froiAccessApproveDenyDate; @Column(name = "FROI_ACCESS_APPROVED_FLAG") private String froiAccessApprovedFlag; @Column(name = "FROI_ACCESS_REQUESTED") private String froiAccessRequested; @Column(name = "FROI_APPROVED_BY") private String froiApprovedBy; @Temporal(TemporalType.DATE) @Column(name = "FROI_CONFIRM_EMAIL_SENT_DATE") private Date froiConfirmEmailSentDate; @Temporal(TemporalType.DATE) @Column(name = "FROI_LETTER_SENT_DATE") private Date froiLetterSentDate; @Column(name = "LAST_LOGON_ADDR") private String lastLogonAddr; @Temporal(TemporalType.DATE) @Column(name = "LAST_LOGON_DATE") private Date lastLogonDate; @Column(name = "LAST_NAME") private String lastName; @Column(name = "LAST_UPDATED_BY") private String lastUpdatedBy; @Column(name = "LAST_UPDATED_BY_NAME") private String lastUpdatedByName; @Column(name = "LAST_UPDATED_BY_SU_ID") private BigDecimal lastUpdatedBySuId; @Temporal(TemporalType.DATE) @Column(name = "MAIL_SENT_DATE") private Date mailSentDate; @Temporal(TemporalType.DATE) @Column(name = "MAINT_DATE") private Date maintDate; @Temporal(TemporalType.DATE) @Column(name = "NEW_PIN_REQ_DATE") private Date newPinReqDate; @Column(name = "PASSWORD") private String password; @Transient private String newPassword; @Temporal(TemporalType.DATE) @Column(name = "PASSWORD_UPD_DATE") private Date passwordUpdDate; @Column(name = "PHONE") private String phone; @Column(name = "PIN") private String pin; @Column(name = "POLICY_NUM") private BigDecimal policyNo; @Column(name = "PROFILE_CLASS_CODE") private String profileClassCode; @Temporal(TemporalType.DATE) @Column(name = "PROFILE_REQ_DATE") private Date profileReqDate; @Temporal(TemporalType.DATE) @Column(name = "PROFILE_UPDATE_DATE") private Date profileUpdateDate; @Column(name = "REMOTE_ADDR") private String remoteAddr; @Column(name = "SESSIONID") private String sessionid; @Column(name = "SUBSCRIBER_FLAG") private String subscriberFlag; @Column(name = "USER_ID") private BigDecimal userId; @Id @Column(name = "USER_NO") private BigDecimal userNo; @Column(name = "USERNAME") private String username;
My JUnit test:
@Test public void testGetWebProfileByUsername() { TestWebProfile wp = sso.getWebProfile("MARLENE"); System.out.println("name :" + wp.getFirstName()); System.out.println("last name :" + wp.getLastName()); }
My DAO implementation:
@Override public TestWebProfile getWebProfile(String username) { String sqlString = "select w from TestWebProfile w where w.username =:username"; return (TestWebProfile) getEntityManager() .createQuery(sqlString, TestWebProfile.class) .setParameter("username", username).getSingleResult(); }
After Googling in the past hour, the only culprit I found that seems to make sense was not the @Id and @Column annotations, but I have userNo variables. Any help that could be provided would be greatly appreciated!
source share