Я пытаюсь добавить свойство Transient в свой класс Embeddable. Вот что у меня есть:Hibernate @Transient MappingException
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
@Embeddable
public class PackageProduct
{
@Field
private String productId;
@Transient
private Product product;
}
И PackageProduct используется в Package.java как это;
@ElementCollection(targetClass=PackageProduct.class, fetch = FetchType.EAGER)
private Set<PackageProduct> packageProducts;
Однако, это бросает следующее исключение: Caused by: org.hibernate.MappingException: Could not determine type for: *.*.*.Product, at table: Package_packageProducts, for columns: [org.hibernate.mapping.Column(packageProducts.product)]
Исключения больше не выдается, если я аннотирование моего класса PackageProduct с этим:
@Access(AccessType.FIELD)
Я пытаюсь понять, почему это работает с аннотацией уровня @ @. Любая помощь приветствуется. Благодарю.
Спасибо Amit за вход. Найдено, что у меня это на продукте: '@AccessType (" property ") private String id;' Однако, что я не получаю, это PackageProduct работает, если я удаляю '@ Transient', Требуется модификатор уровня класса. –