3

次の@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ためですか?

4

2 に答える 2

0

Basic型マッピングではないので、これはできないようです。ソース:Java6API-AttributeOverride

于 2013-01-16T21:31:18.393 に答える
0

AttributeConverterこの答えのように書くhttps://stackoverflow.com/a/35758475/572380私の問題を解決しました。

于 2019-01-21T21:25:23.570 に答える