2016-11-10 2 views
1

私は、別のクラスの基本プロパティのいくつかを拡張したクラスを持っています。私はMySQLデータベースと通信するためにCRUDリポジトリを使用しています。私は基本クラスで定義されているフィールドの値を取得していません。CRUDリポジトリがスーパークラスデータを返さない

例:私はcreatedByとmodifiedByをnullにしています。

エンティティクラス

@JsonInclude(JsonInclude.Include.NON_NULL) 
@Entity 
@Table(name = "user") 
class User extends BaseEntity { 

@JsonProperty("id") 
@Id 
@GeneratedValue(strategy = GenerationType.AUTO) 
@Column(name = "id") 
private String id; 

@JsonProperty("firstName") 
@Column(name = "first_name") 
private String firstName; 

@JsonProperty("lastName") 
@Column(name = "last_name") 
private String lastName; 

/** 
    * @return the id 
    */ 
public String getId() { 
    return id; 
} 

/** 
    * @param id the id to set 
    */ 
public void setId(String id) { 
    this.id = id; 
} 

/** 
    * @return the firstName 
    */ 
public String getFirstName() { 
    return firstName; 
} 

/** 
    * @param firstName the firstName to set 
    */ 
public void setFirstName(String firstName) { 
    this.firstName = firstName; 
} 

/** 
    * @return the lastName 
    */ 
public String getLastName() { 
    return lastName; 
} 

/** 
    * @param lastName the lastName to set 
    */ 
public void setLastName(String lastName) { 
    this.lastName = lastName; 
} 
} 

基本クラス

class BaseEntity { 

@JsonProperty("createdBy") 
@Column(name = "created_by") 
public String createdBy; 

@JsonProperty("modifiedBy") 
@Column(name = "modified_by") 
public String modifiedBy; 

/** 
    * @return the createdBy 
    */ 
public String getCreatedBy() { 
    return createdBy; 
} 

/** 
    * @param createdBy the createdBy to set 
    */ 
public void setCreatedBy(String createdBy) { 
    this.createdBy = createdBy; 
} 

/** 
    * @return the modifiedBy 
    */ 
public String getModifiedBy() { 
    return modifiedBy; 
} 

/** 
    * @param modifiedBy the modifiedBy to set 
    */ 
public void setModifiedBy(String modifiedBy) { 
    this.modifiedBy = modifiedBy; 
} 
} 

リポジトリ

@Transactional 
public interface UserRepo extends CrudRepository < User, String > {} 

サービス実装方法

public User getUser(String userId) { 
    User user = gUnifyUserRepository.findOne(userId); 
    //Here the data for createdBy and modifiedBy is returned as null though i have value in DB 
    return response; 
} 

すべてのヘルプは大歓迎です。

答えて

0
public class BaseEntity implements Serializable { 

    @LastModifiedDate 
    private Date lastModified; 
    @CreatedDate 
    private Date createdAt; 

上記のコードを使用して、私は私の質問は、監査の分野に特に話ではありません

+0

を教えてください。サブクラスのフィールドの値を取得できません。私のサンプルでは、​​私はlastModifiedとcreatedAtを持っていません。 – Rajagopal

関連する問題