如何在@AttributeOverrides上处理@Type

时间:2013-01-16 19:57:52

标签: java hibernate jpa

假设您有@Embeddable这样的映射:

@Embeddable
public class Wheel {
  @Column(name = "COLOR")
  @Type(type = "my.package.ColorUserType")
  private Color theColor;
}

你试着像这样使用它:

@Entity
@Table(name = "CAR")
public class Car {
  @Embedded
  @AttributeOverride(
    column = @Column(name = "STEERING_WHEEL_COLOR")
    name = "theColor"
  )
  private Wheel steeringWheel;
}

当我这样做时,我会在启动时得到一个很大的胖org.hibernate.MappingException: Could not determine type for: my.package.Color

那么有没有办法覆盖类型或确保它使用@Embeddable中定义的类型,因为在使用@AttributeOverride时它显然没有被保留?

2 个答案:

答案 0 :(得分:0)

看起来这不可能,因为它不是Basic类型的映射。来源:Java 6 API - AttributeOverride

答案 1 :(得分:0)

按照答案https://stackoverflow.com/a/35758475/572380的方式写一个from django.urls import path app_name = 'example' urlpatterns = [ path('api/example', views.ExampleView.as_view(), name='example') ] 解决了我的问题。