J'ai une classe et je n'ai besoin que d'une seule colonne d'une autre entité mappée. Je préférerais annuler une référence complète. Y a-t-il un moyen de faire cela? J'ai googlé exhaustivement mais je ne dois pas avoir la bonne terminologie.Hibernate - Rejoindre une seule colonne au lieu de l'entité entière
Expliqué:
@Entity
@Table(name = "foo")
@Data
public class Foo {
@Id
@Column(name = "itemid")
private long id;
@Column(name = "name")
private String name;
}
Cela fonctionne:
@Entity
@Table(name = "bar")
@Data
public class Bar{
@Id
@Column(name = "itemid")
private long id;
@Column(name = "other_name")
private String otherName;
@OneToOne
@PrimaryKeyJoinColumn
private Foo foo;
}
Mais je veux:
@Entity
@Table(name = "bar")
@Data
public class Bar{
@Id
@Column(name = "itemid")
private long id;
@Column(name = "other_name")
private String otherName;
@OneToOne
@JoinColumn(name = "itemid")
@Formula("SELECT name FROM FOO v where v.id = id")
// Something here...not sure what. Where name is the name from Foo
private String name;
}
Avez-vous essayé ce dernier extrait, sans les '@ OneToOne' et' @ JoinColumn'? Juste le '@ Formula'? – corsiKa