Spring Data JPA findById for updatable true columns不列出列

时间:2016-11-04 12:07:14

标签: hibernate spring-data spring-data-jpa

我正在使用Spring Data首先保存,然后从存储库中找到B.yId。

我已经解释了下面的情景。

@Entity
@Table(name="table1")
@NamedQuery(name="Table1.findAll", query="SELECT s FROM Table1 s")
public class Table1 implements Serializable {
    private static final long serialVersionUID = 1L;

    @EmbeddedId
    @JsonIgnore
    private Table1PK id;

    @JsonProperty("userName")
    @Column(name="created_by", length=50)
    private String createdBy;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="created_date", updatable = false)

/* Other columns and getters/setters */

存储库

@Transactional
public interface Table1Repository extends JpaRepository<Table1, Table1PK> {

    Table1 findById(Table1PK id);

}

控制器

/* .... */
table1Repository.save(/*Table1*/ table1Data);
Table1 tableDataRetrieved = table1Repository.findById(/*Table1Pk*/ table1Data.getId()); //line# 1
/* .... */

我面临的问题是 createdDate 列被取为空第1行,这只有在保存语句有更新以使。

updatable = false 本质上应该意味着列在尝试保存时不会成为更新语句的一部分。但我不清楚为什么在 findById 调用的输出中没有提取它。

我可以看到Hibernate触发的SQL语句是正确的,并包含 createdDate 列。

我也尝试过saveAndFlush调用,但我仍然将createdDate设为null。

任何指针。

0 个答案:

没有答案