HibernateKotlin中的@get:Column和@Column有什么区别?
kmb7vmvb1#
@get:Column将注解应用于属性的getter方法,而@Column最终注解底层字段。在Hibernate中,这两种方法的效果大致相同,尽管可能存在some small differences。@get:Column中的get:前缀是一个use-site目标。当Kotlin中的一个东西对应于Java中的多个东西时,它很有用。use-site目标选择注解应该应用于哪些Java东西。例如,在Java中,Kotlinval属性可以表示为带有getter方法的字段。@Column注解可以应用于字段和方法,因此从JavaAngular 来看,将该注解应用于Kotlin属性在某种意义上是不明确的。它可以应用于底层字段或getter方法。使用@get:Column指定注解应该专门应用于属性的getter方法,而不是字段。省略use-site目标意味着Kotlin将尝试为您选择一个。从Column注解可以拥有的两个目标中,Kotlin将默认选择field。如果您想专门针对字段,也可以指定@field:Column。
@get:Column
@Column
get:
val
Column
field
@field:Column
1条答案
按热度按时间kmb7vmvb1#
@get:Column
将注解应用于属性的getter方法,而@Column
最终注解底层字段。在Hibernate中,这两种方法的效果大致相同,尽管可能存在some small differences。@get:Column
中的get:
前缀是一个use-site目标。当Kotlin中的一个东西对应于Java中的多个东西时,它很有用。use-site目标选择注解应该应用于哪些Java东西。例如,在Java中,Kotlin
val
属性可以表示为带有getter方法的字段。@Column
注解可以应用于字段和方法,因此从JavaAngular 来看,将该注解应用于Kotlin属性在某种意义上是不明确的。它可以应用于底层字段或getter方法。使用
@get:Column
指定注解应该专门应用于属性的getter方法,而不是字段。省略use-site目标意味着Kotlin将尝试为您选择一个。从Column
注解可以拥有的两个目标中,Kotlin将默认选择field
。如果您想专门针对字段,也可以指定@field:Column
。