gpt4 book ai didi

java - 有没有办法(例如 Eclipse 插件)从实体(JPA)自动生成 DTO?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:25:52 40 4
gpt4 key购买 nike

我想要一个简单的正向 DTO 生成工具,它可以

  1. 动态生成它(例如 cglib - 动态创建类和 DTO 对象)
  2. 或者一个 Eclipse 插件,它将接受实体并生成一个 DTO(用户将指定要包含的 TreeMap ,对于不包含的 TreeMap ,将包含外键而不是相关实体等)

例如拿这样的东西

@Entity
@Table(name="my_entity")
public class MyEntity {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String name;

@ManyToOne
private RelatedEntity related;
public RelatedEntity getRelated(){
return related;
}
...

然后生成这样的东西:

@Entity
@Table(name="my_entity")
public class MyEntity imlpements MyEntityDTO {
@Id @GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String name;

@ManyToOne
private RelatedEntity related;
//overrides MyEntity interface, it's allowed to narrow return type
public RelatedEntity getRelated(){
return related;
}
...

//implements MYEntityDTO respective interfaces

public Long getRelatedId(){return related.getId();}

和 DTO 接口(interface):

public interface MyEntityDTO {

public String getId();
public String getName();
public Long getRelatedId();
public RelatedEntityDTO getRelated(); //RelatedEntity implements RelatedEntityDTO

...
}

public interface RelatedEntityDTO {
...
}

如果我们不想在图中包含 child ,请将其从 DTO 接口(interface)中删除:

public interface MyEntityDTO {

public String getId();
public String getName();
public Long getRelatedId();

...

我确定有一些 eclipse 插件,如果没有,我会挑战某人写一个,或者解释为什么我想要的东西没有帮助(并提供替代建议)

最佳答案

可能 Hibernate Tools 应该这样做:http://hibernate.org/subprojects/tools.html

关于java - 有没有办法(例如 Eclipse 插件)从实体(JPA)自动生成 DTO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5959404/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com