Hibernate @Formula не создает встроенный объект - PullRequest
0 голосов
/ 14 января 2020

Я использую пружинные данные CrudRepository:

 public interface CrudRepository<T, ID> extends Repository<T, ID>

Я ищу запись my_table следующим образом:

myRepository.findById(id)

mySimpleData всегда пусто .. otherTableId имеет правильное значение, почему эта формула не работает?

@Entity
@Table(name = "my_table")
public class MyData {

    @Id
    private String id;

    @Column(name = "other_table_id", nullable = false, updatable = false)
    private String otherTableId;

    @Version
    private Long version;

    @Formula("(select new MySimpleData(msd.customId, msd.customId, msd.customId) from other_table otherTable where otherTable.id = other_table_id)")
    protected MySimpleData mySimpleData = new MySimpleData();

MySimpleData Это поддельный объект, который я хочу создать с использованием одной формулы. Это не сущность, и ее свойства не должны сохраняться. Я не уверен, должна ли здесь присутствовать аннотация @Embeddable ..

 @Embeddable
 public class MySimpleData {

    @Transient
    private Long customId;

    protected MySimpleData(Long customId, Long customId, Long customId) {
        this.customId = customId;
        this.customId = customId;
        this.customId = customId;
    }

    protected MySimpleData() {
    }

}
...