2012-06-01 3 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.

Если вам нужно выполнить арифметику или сопоставление дат, вы можете сохранить это как объект Date, который вы могли бы распечатать в любом формате, который вам нужен. Но будьте осторожны, чтобы определить, означает ли 0612 первое июля или последнее июля. И не забывайте, что Java Dates индексируются 0, поэтому, когда пользователь вводит 6 и означает июнь, вам нужно настроить его для создания объекта Date.

+0

Спасибо Speck. Я, вероятно, просто перейду с помощью String, так как вряд ли я все равно сделаю это со значением. Полезная информация и советы :) –