用春天学习冬眠,我有一个问题。如何使用数组值创建关系OneToMany(fetch = Lazy)?
在表格Path.categoryIds
中保存了一些Place.id
字符串,使用@Converter
从String
转换为int
数组。
那么,如何使用int[] placeIds
值填充List“places”?
Place table
- int id
- String name
Path table
- int id
- String place_ids (Place.id`s written by comma (ex:"1,2,3"))
@Entity
@Table(name="place")
public class Place {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int id;
private String name;
}
@Entity
@Table(name="path")
public class Path {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int id;
@Column(name="category_ids")
@Convert(converter = PlaceIdsConverter.class) // "1,2,3" -> [1,2,3]
private int[] placeIds;
@OneToMany(fetch = FetchType.LAZY) // ???, how to fill using values from placeIds
private List<Place> places;
}
但是,由于其他原因,使用ManyToMany关系的附加表的情况是不可能的。 :(