0
Spring JPAを使用してオブジェクトのリストを取得しようとしているときに、この問題に直面しています。SpringData JPA - クラスのIDが間違っています。予想されるクラス:java.lang.Integer、クラスjava.lang.Longを取得
これは私が
@Entity
@Table(name="OBJECTSTERMIC")
public class TermicObject {
@Id
@Column(name="TERMICID")
private long termicId;
@MapsId
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name="OBJECTID",columnDefinition="INTEGER")
private Object object;
@Column(name="CONTECA_RIF")
private int contecaRif;
@Column(name="CONTECA_VAL")
private int contecaVal;
@Column(name="TYPE")
private String type;
//getters and setters
Object
クラスを取得しようとしているクラスは、整数として格納されたMySQLの主キーを持っている、確かにこれはどこにもされているので、
@Entity
public class Object {
@Column(name="OBJECTID")
@Id
@JsonProperty("OBJECTID")
private int objectId;
....
オブジェクトであります長い時間を設定してください...
ここで、私は単にサービスクラスを呼び出します
@Override
public List<TermicObject> findAll() {
return repository.findAll();
}
とロングである必要があり、そのオブジェクトIDが設定される。この例外
org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TypeMismatchException: Provided id of the wrong type for class it.besmart.db_eipo.persistence.model.Object. Expected: class java.lang.Integer, got class java.lang.Long; nested exception is java.lang.IllegalArgumentException: org.hibernate.TypeMismatchException: Provided id of the wrong type for class it.besmart.db_eipo.persistence.model.Object. Expected: class java.lang.Integer, got class java.lang.Long
を得ましたか。