来自休眠官方文档 http://docs.jboss.org/ejb3/app-server/HibernateAnnotations/reference/en/html_single/#d0e2018:
@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 https://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e2794.
@Type https://docs.jboss.org/hibernate/stable/annotations/reference/en/html_single/#d0e2794注释用于休眠,即告诉您要在数据库中存储什么类型的数据。
让我们举一个简单的例子:
@Type(type="yes_no")
private boolean isActive;
这里的返回类型是boolean
但存储在数据库中的值将在Y
or N
格式而不是true
/false
.
以同样的方式,您可以将对象映射到数据库列。查看here https://dzone.com/articles/annotating-custom-types以获得更详细的解释。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)