如何使用java在数据库中存储特殊符号(+)?

时间:2014-06-19 14:28:57

标签: spring hibernate

我需要将电话号码与国家代码(如+919025645765)一起存储到数据库中。但是,当我试图存储该号码时,它仅存储919025645765。

我使用带休眠的弹簧来做这件事。

请帮帮我.. 这是我在控制器中的方法

 @RequestMapping(value="/signup",method = RequestMethod.POST)
        @ResponseBody() 
        public User processSignUp(@RequestBody SignUpForm signUpForm, HttpServletRequest request)
        {
              User newUser=new User();

             newUser.setFirstName(signUpForm.getFirstname());
             newUser.setPhoneNumber(signUpForm.getMobilenumber());//here mobile number is +919025645765
             userServices.saveUser(newUser);//here we are sending new user to DAOImpl class where data is stored

    }

我的DaoImpl是:

@Override
    public void saveUser(User newUser) {


        try{
                sessionFactory.getCurrentSession().save(newUser);

        }
        catch(Exception e)
        {
            e.printStackTrace();

        }
    }

这里数据名字和电话号码存储在db中,但它只显示为919025645765 ..但我需要存储+ 919025645765这样。

和我的pojo课这样:

@Entity
@Table(name = "User")
public class User implements  Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 1522690839402700573L;

    @Id
    @GeneratedValue
    @Column(name="UserID")
    private long userID; 

    @Column(name = "FirstName")
    private String firstName;

    @Column(name="PhoneNumber")
    private String phoneNumber;

}

1 个答案:

答案 0 :(得分:1)

如果你必须存储" +"那么你需要将电话号码存储为字符串。例如你的pojo看起来像这样:

@Entity
@Table(name = "people",
class Person {

   @Column(nullable = false)
   private String phoneNumber;
}