Не обновляется запрос в Hibernate
Была одна модель User, которая записывалась в БД. Потом я добавил дополнительный столбик в БД и, соответственно, расширил модель.
public class User {
@NotEmpty(message = "Field should not be empty")
@Size(min = 5, max = 45, message="Username have to be beetwen 5 and 45 characters long")
@Pattern(regexp="^[a-zA-Z0-9]+$", message = "Username must be alphanumeric with no spaces")
private String username;
@NotEmpty(message = "Field should not be empty")
@Size(min = 5, max = 45, message="Password have to be beetwen 5 and 45 characters long")
@Pattern(regexp="^[a-zA-Z0-9]+$", message = "Password must be alphanumeric with no spaces")
private String password;
@NotEmpty(message = "Field should not be empty")
@Email(message = "it must be the string with '@' separator")
@Size(min = 5, max = 45, message="Email have to be beetwen 5 and 45 characters long")
private String email;
private String avatar;
private boolean enabled;
public User(){
this.username = "";
this.password = "";
this.email = "";
this.avatar = "";
this.enabled = true;
}
public User(String username, String password, String email){
this.username = username;
this.password = password;
this.email = email;
this.avatar = "";
this.enabled = true;
}
public User(String username, String password, String email, String avatar){
this.username = username;
this.password = password;
this.email = email;
this.avatar = avatar;
this.enabled = true;
}
public boolean getEnabled(){
return enabled;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
public String getEmail(){
return email;
}
public String getAvatar(){
return avatar;
}
public void setUsername(String username){
this.username = username;
}
public void setPassword(String password){
this.password = password;
}
public void setEmail(String email){
this.email = email;
}
public void setEnabled(boolean enabled){
this.enabled = enabled;
}
public void setAvatar(String avatar){
this.avatar = avatar;
}
}
hbm файл
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="org.springframework.web.basepackage.User" table="users">
<id name="username" type="string">
<column name="username" length="45" />
<generator class="assigned" />
</id>
<property name="password" type="string">
<column name="password" length="60" not-null="true" />
</property>
<property name="email" type="string">
<column name="email" />
</property>
<property name="avatar" type="string">
<column name="avatar" />
</property>
<property name="enabled" type="boolean">
<column name="enabled" not-null="true" />
</property>
</class>
</hibernate-mapping>
Способ сохранения
@Autowired
private SessionFactory sessionFactory;
@Override
public void saveUser(User user) {
sessionFactory.getCurrentSession().save(user);
}
Вот, в общем, я внес коррективы, но SQL запрос от Hibernate остался прежним и не изменяется:
Hibernate: insert into users (password, email, enabled, username) values (?, ?, ?, ?)
И кэш отключал, и dynamic-insert включал, и пробовал openSession(), запрос не меняется. В чем проблема?
Источник: Stack Overflow на русском