Когда я пытаюсь восстановить объект в спящем режиме, это исключение исключения несоответствия типов.получение несоответствия типов при попытке получить объект в спящем режиме
HTTP Status 500 - Request processing failed; nested exception is
org.hibernate.TypeMismatchException: Provided id of the wrong type for class
com.ecommerce.models.User. Expected: class com.ecommerce.models.User, got class
java.lang.Integer
Session session=getSessionFactory().openSession();
Transaction tx;
tx=session.beginTransaction();
User u1=new User();
u1.setUserName("abcdef");
u1.setPassword("abcdef");
u1.setEmailId("abcdef");
session.save(u1);
tx.commit();
User u=(User)session.get(User.class,u1.getId()); -->this line is throwing error
Class Пользователь
@Entity
@Table(name="USER")
public class User implements Serializable {
@Id
@GenericGenerator(name="gen",strategy="increment")
@GeneratedValue(generator="gen")
@NotNull
int Id;
@Id
@Column(name="USERNAME")
@NotEmpty
String userName;
@Id
@Column(name="EMAIL_ID")
@NotEmpty
String emailId;
@Column(name="PASSWORD")
@NotEmpty
String password;
Seetters and getters.....
}
Может кто-нибудь, пожалуйста, помогите?
У вас уже есть 'u1', так как сеанс не поврежден. –
Да, я создал u1 для проб и ошибок. Я думаю, что проблема возникает, потому что я объявил более одного первичного ключа в своей таблице. Может ли кто-нибудь сообщить, как я могу использовать несколько первичных ключей и использовать одну и ту же функцию поиска? –
Если вы используете более одного столбца в качестве первичного ключа, вам придется использовать составной ключ в спящем режиме. –