Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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
Postgresql 无法使用kotlin和spring数据持久化数据_Postgresql_Hibernate_Kotlin_Spring Data Jpa - Fatal编程技术网

Postgresql 无法使用kotlin和spring数据持久化数据

Postgresql 无法使用kotlin和spring数据持久化数据,postgresql,hibernate,kotlin,spring-data-jpa,Postgresql,Hibernate,Kotlin,Spring Data Jpa,我想利用JPA中的继承优势。我有三门课: @Entity @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn( name = "MY_DISC", discriminatorType = DiscriminatorType.STRING ) open class BaseClass( @Id @GeneratedValue(st

我想利用JPA中的继承优势。我有三门课:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(
        name = "MY_DISC",
        discriminatorType = DiscriminatorType.STRING
)
open class BaseClass(
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        val id: Long? = null,
        ...shared things
) 

@Entity
@DiscriminatorValue(value = "FIRST_VALUE")
class FirstClass(...shared) : BaseClass(...shared things ) {

}


@Entity
@DiscriminatorValue(value = "SECOND_VALUE")
class SecondClass(...shared) : BaseClass(...shared things ) {

}
我还创建了存储库:

@Repository
interface FirstClassRepo : CrudRepository<FirstClass, Long> {
}
... other similar

我已经检查了很多链接,但是没有一个有效,有关于kotlin+spring数据jpa+继承的教程吗?或者我在解决方案中遗漏了什么?

显然,唯一有效的方法是添加一个带有注释的字段

@Column("MY_DESC", insertable = false, updatable = false)

它解决了我所有的顾虑。

显然,唯一有效的方法是添加一个带有注释的字段

@Column("MY_DESC", insertable = false, updatable = false)

它解决了我所有的问题。

您是手动创建表还是由jpa创建的?它是由jpa创建的。我唯一指定的是:spring.jpa.hibernate.ddl auto=create您可以将其添加到
application.properties
中,并使用生成的sql更新问题,以创建
FirstClass
表和
保存
spring.jpa.show sql=true
spring.jpa.properties.hibernate.format_sql=true
实际上,如果删除
@DiscriminatorColumn
@DiscriminatorValue
注释,它应该可以工作,是手动创建表还是由jpa创建的?它是由jpa创建的。我唯一指定的是:spring.jpa.hibernate.ddl auto=create您可以将其添加到
application.properties
中,并使用生成的sql更新问题,以创建
FirstClass
表和
保存
spring.jpa.show sql=true
spring.jpa.properties.hibernate.format_sql=true
实际上如果删除
@DiscriminatorColumn
@DiscriminatorValue
注释,它应该可以工作