Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

@Transient in spring data doesn't work

I have Settlement entity

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

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

which related to ProductSubscription entity

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

which related to Product entity

@Entity
public class Product {
    @Transient
    private String enabled;

in Product entity i have field enabled which annotated with @org.springframework.data.annotation.Transient. also I have Repository

public interface SettlementRepository extends JpaRepository<Settlement, Integer>

when I call SettlementRepository.findAll(); it give exception Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 'enabled'.

How can I ignore the enabled field from being loaded from the DB ?

like image 949
Melad Basilius Avatar asked Dec 10 '22 10:12

Melad Basilius


1 Answers

I found the solution, the problem was in Annotation @org.springframework.data.annotation.Transient once I changed to @javax.persistence.Transient it worked fine.

like image 142
Melad Basilius Avatar answered Jan 06 '23 22:01

Melad Basilius