【发布时间】:2020-08-22 09:52:08
【问题描述】:
我最近开始使用 Java 进行开发,我的客户也是一名开发人员,自 Java 发布以来一直在使用 Java 进行开发。
所以当他说“我们有充分的理由不在我们的项目中使用瞬态字段”时,我没有问这些原因是什么。但是,回到问题:
我有两个班级:
- POJO,仅用于生成 JSON:
public class BaseSector implements Serializable {
private String id;
private String name;
private String parentId;
- 实体:
public class Sector {
@Column(length = 36)
private String id;
@Column(length = 40)
private String name;
@Column(length = 36)
private String parentId;
// ... Bunch of other fields
Entity 类有没有办法扩展这个 POJO,并动态添加 Column 注释?还是将 POJO 作为接口?还是在 POJO 构造函数中使用实体类?
之前我们有这样的事情:
for (Sector sector : sectors) {
BaseSector baseSector = new BaseSector();
baseSector.setId(sector.getId());
baseSector.setName(sector.getName());
baseSector.setParentId(sector.getParentId());
}
但是我通过在 HQL 构造函数中使用 BaseSector 来改变它...... 顺便说一句,我们还有 SectorInfo 和 SimpleSectorInfo,它们也扩展了 BaseSector,但这是一个不同的主题..
【问题讨论】:
-
虽然可以在运行时添加注解 - 这非常hacky,可以在这里找到一个示例:stackoverflow.com/questions/1635108/…
标签: java hibernate hibernate-mapping