我正在尝试使用 hibernate 进行本地化,并且由于我坚持使用 @ElementCollection(请参阅嵌入式地图上的 HQL 选择),我想尝试使用真实实体的不同方法:
@Entity
public class Category {
..
@OneToMany(fetch = FetchType.EAGER)
@Cascade(...)
List<Localization> name;
}
@Entity
public class Localization {
@Id
@GeneratedValue
private long id;
@NotNull
public String locale;
@NotNull
public String label;
}
现在我知道这不是很好,因为实际上它允许一个类别有多个英文翻译,但这对我来说很好。
我的问题:
由于我将在我的数据库中使用这种可本地化的结构,并且会有很多本地化日期,本地化表会变得非常大。由于我想急切地获取本地化关系,这可能会成为性能问题。
是否可以为每个 ManyToOne 映射创建一个单独的表(所以基本上是 @ElementCollection 隐式完成的,我不能使用,请参见上面的链接)。所以结果应该是许多具有相同结构的表,例如:
locale_category_name (id : long, locale : string, label : string)
locale_category_description (id : long, locale : string, label : string)
locale_product_name (id : long, locale : string, label : string)
等等