弹簧数据中的@Transient不起作用

时间:2017-07-10 08:16:08

标签: java spring hibernate jpa spring-data

我有Settlement实体

@Entity
@Table(name = "settlement")
public class Settlement {

    @ManyToOne
    @JoinColumn(name = "subscription_x_product_id")
    private ProductSubscription productSubscription;

ProductSubscription实体

相关
@Entity
@Table(name = "subscriptionproduct")
public class ProductSubscription {
    @ManyToOne
    @JoinColumn(name = "product_id")
    private Product product;

Product实体

相关
@Entity
public class Product {
    @Transient
    private String enabled;
Product实体中的

我有enabled字段,注明了@org.springframework.data.annotation.Transient。 我也有存储库

public interface SettlementRepository extends JpaRepository<Settlement, Integer>

当我致电SettlementRepository.findAll();时,它会提供异常Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'enabled'.

如何忽略从数据库加载的enabled字段?

1 个答案:

答案 0 :(得分:7)

我找到了解决方案,问题出现在注释@org.springframework.data.annotation.Transient中,一旦我改为@javax.persistence.Transient它就运行良好。