spring-boot - 如果 Spring Data JPA 表中不存在则忽略列

标签 spring-boot spring-data-jpa

我有一个如下所示的抽象类:

@MappedSuperclass
public  abstract class BaseEntity {

    @Id
    Long id;
    String name;

//getters and setters 
}

两个实体扩展BaseEntity

拳头级别

@Entity
@Table(name= "table1")
public class TValideB  extends BaseEntity {

 @Column(name = "phone")
 String phone;

}

二等

@Entity
@Table(name= "table2")
public class TValide extends BaseEntity {

    @Colmun(name = "mail")
    String mail;

}

当我尝试保存 TValide 时,出现如下错误无效列“name”; 在我的 table2 中,名称不存在列。

我的问题是如何忽略此列并保存我的实体? 存在其他方法而不从摘要中删除列名称 类(class)?

最佳答案

我只是在名称中添加 @Column 并使用 insertable=false, updatable=false 编辑我的抽象类,如下所示:

@MappedSuperclass
public  abstract class BaseEntity {

    @Id
    Long id;
    @Column(name = "name", insertable=false, updatable=false)
    String name;

//getters and setters 
}

这种方法避免了我创建大量抽象类或重写重写属性。

关于spring-boot - 如果 Spring Data JPA 表中不存在则忽略列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60545468/

相关文章:

java - 具有多个数据源的 Spring Boot @Transactional 属性

java - 检查环境变量是否设置为运行时spring boot

Gradle - Java 9 - spring-data-ja

java - 如何在 hibernate 中记录失败的sql?

java - @CrossOrigin 注释无法编译

jpa - Google Guice 持久化 + Spring Data JPA

java - Spring boot JPA中不相关实体的加入查询

java - Kafka无序消息场景处理

angular - SockJS over stomp 使用 angular2 和 spring boot

java - spring-boot 更新到 1.3.1 后 webapp 无法启动