2012-06-01 49 views
0

我的模型中存在一個問題,即刪除數據類型爲'short'的屬性的前導零。數據類型short的模型屬性的前導零被刪除

因此,舉例來說,如果我有這個在我的控制器:

Purchase purchase = purchaseService.getById(purchaseId); 

到期屬性顯示的「612」的值時,它應該是「0612」。

是否有一個註釋可以添加以防止出現這種情況? (我想避免添加任何自定義代碼到getter來解決它)。

@Entity 
@XmlRootElement 
public class Purchase implements Serializable 
{ 
    /** 
    * 
    */ 
    private static final long serialVersionUID = 6603477834338392140L; 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @OneToMany(mappedBy = "purchase", fetch = FetchType.LAZY) 
    private List<Tag> tags; 

    private Long pan; 

    private short cvc; 

    private short expiry; 

    public short getExpiry() 
    { 
     return expiry; 
    } 

    public void setExpiry(short expiry) 
    { 
     this.expiry = expiry; 
    } 
} 

感謝

回答

0

,短期基本類型僅僅是一個數字,因此領先的「0」是微不足道的。它永遠不會存儲它。

它看起來像你存儲的信用卡到期日期。

當我做了電子商務應用程序時,我們並沒有對該值做出決定,所以我們最容易將它存儲爲保留前導'0'的字符串。然後,我們會將輸入的字符串傳輸給CC公司。

如果您需要進行日期算術或比較,您可以將其存儲爲日期對象,然後您可以使用任何您想要的格式進行打印。但要小心確定0612是指七月一日還是七月末。不要忘記,Java日期爲0索引,所以當用戶輸入6並且意味着6月你需要調整它來創建Date對象。

+0

謝謝斑點。我可能只是把它改成一個字符串,因爲無論如何我不太可能用這個值做很多事情。有用的信息和建議:) –