我能够找到解决方案。如果您像这样映射Bar类
@Entity@DiscriminatorValue("1")@SecondaryTable(name = "BAR", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "FOO_ID", referencedColumnName = "FOO_ID") })public class Bar extends Foo { @oneToOne @JoinColumn(table = "BAR", name = "BAR_ID") MiniBar miniBar;}并添加以下类
@Entity@SqlResultSetMapping(name = "compositekey", entities = @EntityResult(entityClass = MiniBar.class, fields = { @FieldResult(name = "miniBar", column = "BAR_ID"), }))@NamedNativeQuery(name = "compositekey", query = "select BAR_ID from BAR", resultSetMapping = "compositekey")@Table(name = "BAR")public class MiniBar { @Id @Column(name = "BAR_ID") Long barId;}然后,您可以将想要的任何类型的映射添加到
MiniBar类中,就像barId是主键一样,然后进一步使其在外部
Bar类中可用。



