我试图在telosys中使用dsl模型生成jpa enitites。
我的dsl型号:
Car {
id : int { @Id, @AutoIncremented };
user : Employee;
}
Employee {
id : long { @Id } ;
name : string ;
cars : Car[] ;
}
我使用这个代码:
$jpa.linkAnnotations(4, $link, $entity.nonKeyAttributes)
private ${link.fieldType} $link.fieldName ;
# end
我总是得到这样的结果:
@OneToMany(mappedBy="null", targetEntity=Car.class)
private List<Car> cars ;
@ManyToOne
private Employee user ;
我的问题是,我总是得到mappedby=“null”,我该如何解决这个问题?
1条答案
按热度按时间nfg76nw01#
这是在“dsl模型”中的“反向侧”类型链路的情况下发生的错误。这个问题是由于dsl模型中缺少外键定义造成的。外键已添加到新的dsl模型语法中,并将在telosys的下一个版本(即将发布)中使用。
“$jpa”对象提供了一组用作编写快捷方式的函数,因此在此期间,您还可以创建一个velocity宏,用自己的代码(纯velocity语言)替换“linkannotations”函数。
例如,名为“jpalinkannot”的宏:
速度宏定义(带1个参数“$link”):
velocity宏用法: