我在这里要求一种简单的方法在Eclipse从数据库生成的JPA实体中添加一些自定义代码。
基本上我想要实现的是添加包含实体属性名称的公共String属性,并在需要提供"属性名称"时使用它们。作为String并确保不会出现运行时访问错误。
像这样的东西
@Entity
@Table(name="clients")
@NamedQuery(name="ClientModel.findAll", query="SELECT c FROM ClientModel c")
public class ClientModel implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="id_client")
private long idClient;
public String name;
public ClienteModel() {
}
public long getIdClient() {
return this.idClient;
}
public void setIdClient(long idClient) {
this.idClient = idClient;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
//CUSTOM CODE
public static final String idClientProperty = "idClient";
public static final String nameProperty = "name";
}
所以我可以使用像
这样的属性名称ClientModel.nameProperty
并且在编译时安全存在,并且在进一步实体生成后进行名称重构。
我知道Telosys工具的存在& co。,但我希望可以有更简单/更快的东西(比如使用JAXB在WSDL_to_entity生成中作为插件提供的自定义类)
谢谢。
答案 0 :(得分:4)
最后我使用了Telosys工具,即使我不想在我的项目中添加其他工具, 有点容易设置,只需阅读这里 https://sites.google.com/site/telosystools/getting-started/21-configure-a-project
在我的特定情况下,我已经添加到模板" JPA_bean_with_links"在getter创建过程中使用此代码
#if ( $field.getter ) public static String ${field.getter}Property() {
return "$field.name";
}
#end