2012-05-09 99 views
0

我會爲每個類/實體使用帶有ID和時間戳的ModelBase。但是,當我的用戶在JPARepository<>界面我得到的消息Modelbase(繼承)Spring Data JPA

Not an entity: class java.lang.Long 

守則Long類型的主鍵:

@MappedSuperclass 
public class ModelBase implements Serializable { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @Column(nullable = false, columnDefinition = "datetime") 
    private Date lastModified; 

    public Long getId() { 
     return id; 
    } 

    public void setId(Long id) { 
     this.id = id; 
    } 

    public Date getLastModified() { 
     return lastModified; 
    } 

    public void setLastModified(Date lastModified) { 
     this.lastModified = lastModified; 
    } 

    @PreUpdate 
    @PrePersist 
    public void updateLastModified() { 
     lastModified = new Date(); 
    } 

} 

Modelclass從模型庫 inheritanced

@Entity 
@Table(name = "Name") 
public class Name extends ModelBase implements Serializable {} 

回購

public interface NameRepository extends JpaRepository<Long, Name>{} 

我做錯了什麼?

感謝

回答

3

這是倒退:

JpaRepository<Name, Long> 

首先是實體,則ID。檢查JPARepository javadoc。

+0

這真的很尷尬,謝謝。 – KenavR

+0

沒問題!不要忘記接受答案:) – Luciano

+0

我會,需要等10分鐘。 – KenavR