了解Hibernate @Type批注
从官方的hibernate文档中:
@
org.hibernate.annotations.Type会覆盖所使用的默认hibernate类型:由于Hibernate可以正确推断出该类型,因此通常不必这样做
文档中有一个示例:
@Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")@Columns(columns = {
@Column(name="r_amount"),
@Column(name="r_currency")
})
public MonetaryAmount getAmount() {
return amount;
}
我不明白
我们声明,@Type(type="org.hibernate.test.annotations.entity.MonetaryAmountUserType")
但是方法的返回值具有类型MonetaryAmount
。
我希望在类型注释中声明的类型和返回值的类型应该是相同的类型。
有人无法解释在@Type
注解中声明的类型的实际用途。为什么它与返回的类型不同?
回答:
返回类型和之间有区别@Type
。
@Type
注释用于hibernate,即告诉您要存储在数据库中的数据类型。
让我们举一个简单的例子:
@Type(type="yes_no")private boolean isActive;
这里的返回类型为,boolean
但是存储在数据库中的值将采用Y
或N
格式,而不是true
/ false
。
您可以用相同的方式将对象映射到数据库列。请点击这里获取更详细的解释。
以上是 了解Hibernate @Type批注 的全部内容, 来源链接: utcz.com/qa/435333.html