Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java @弹簧内瞬态数据不';行不通_Java_Spring_Hibernate_Jpa_Spring Data - Fatal编程技术网

Java @弹簧内瞬态数据不';行不通

Java @弹簧内瞬态数据不';行不通,java,spring,hibernate,jpa,spring-data,Java,Spring,Hibernate,Jpa,Spring Data,我有结算实体 @Entity @Table(name = "settlement") public class Settlement { @ManyToOne @JoinColumn(name = "subscription_x_product_id") private ProductSubscription productSubscription; @Entity @Table(name = "subscriptionproduct") public class P

我有
结算
实体

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

    @ManyToOne
    @JoinColumn(name = "subscription_x_product_id")
    private ProductSubscription productSubscription;
@Entity
@Table(name = "subscriptionproduct")
public class ProductSubscription {
    @ManyToOne
    @JoinColumn(name = "product_id")
    private Product product;
@Entity
public class Product {
    @Transient
    private String enabled;
哪些与
ProductSubscription
实体相关

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

    @ManyToOne
    @JoinColumn(name = "subscription_x_product_id")
    private ProductSubscription productSubscription;
@Entity
@Table(name = "subscriptionproduct")
public class ProductSubscription {
    @ManyToOne
    @JoinColumn(name = "product_id")
    private Product product;
@Entity
public class Product {
    @Transient
    private String enabled;
产品
实体相关

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

    @ManyToOne
    @JoinColumn(name = "subscription_x_product_id")
    private ProductSubscription productSubscription;
@Entity
@Table(name = "subscriptionproduct")
public class ProductSubscription {
    @ManyToOne
    @JoinColumn(name = "product_id")
    private Product product;
@Entity
public class Product {
    @Transient
    private String enabled;
产品
实体中,我启用了
字段
,该字段用
@org.springframework.data.annotation.Transient
注释。 我还有一个存储库

public interface SettlementRepository extends JpaRepository<Settlement, Integer>
公共接口结算存储扩展了JpaRepository
当我调用
SettlementRepository.findAll()时它给出异常
原因:com.microsoft.sqlserver.jdbc.SQLServerException:无效的列名“enabled”。


从数据库加载
enabled
字段时,我怎么能忽略它呢?

我找到了解决方案,问题出在注释
@org.springframework.data.Annotation.Transient
中,我一改它就可以了。

你对
enabled
的setter有什么注释吗?@Jens否我不知道,我在setter或getter上没有任何注释。我也有同样的问题,但我从
@javax.persistence.Transient
开始就使用了
@Transient
,但仍然没有成功。我保存实体并对返回的对象调用get方法,值被持久化。你找到别的东西了吗?谢谢。对于更多的读者,注释实际上是有效的,但是当我在
@Transactional
测试中使用它时,spring存储库似乎没有更新对象(保存的对象和从存储库返回的对象具有相同的对象Id)。因此,该字段没有写入数据库,但存储库仍在返回它,即使我调用findOne并将其分配给一个新变量。仍然不知道如何修复它。@fabioresner您的enitty中有错误(对我来说,我的\@UniqueConstraint name错误),您必须在xml文件中定义如下查询:@fabioresner检查以下答案: