小编Dis*_*ame的帖子

JAVA:实体和DTO之间的区别

DTO和实体之间有什么区别?详细信息以下是我的问题:

  1. DTO应该有哪些领域?例如,我的实体类是:

    @Entity
    public class MyFirstEntity implements Serializable {
    
        @Id @GeneratedValue
        private Long id;
    
        private String stringData;
    
        @OneToOne
        private MySecondEntity mySecondEntity;
    
        @OneToMany
        private List<MySecondEntity> mySecondEntitesList;
    
    }
    
    @Entity
    public class MySecondEntity implements Serializable {
    
        @Id @GeneratedValue
        private Long id;
    
        private Integer integerData;
    
        @ManyToOne
        private MyFirstEntity myFirstEntity;
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

有一个单向连接(一对一)和一个双向连接(多对一),一个简单的字符串和整数数据,当然还有ID.什么,从他们把在MyFirstDTOMySecondDTO班?

  1. 如果实体之间存在继承,那么我应该如何在DTO中表示它?例如:

    @Entity
    public class MyFirstEntity extends MySecondEntity {
        ....
    }
    
    @Entity
    public class MyFirstDTO extends MySecondDTO {
        ....
    }
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我应该如何使用它们?例如,我发现了这一点:我正在开发一个Web项目.网页的用户想要注册.他/她填写表格,并将其发送到服务器.在服务器端,我首先创建一个DTO,因为它的字段具有验证.从DTO我创建一个实体并将其持久化到数据库.当有实体请求时,我将请求的实体转换为DTO,并将其提供给客户端的用户.是不是很好的想象力?

java entity dto

15
推荐指数
4
解决办法
3万
查看次数

Java HttpSession .getAttribute(字符串名称)

我有一个简单而简短的问题,但在任何地方都找不到答案。我创建了一个 HttpSession 并想从中获取一个属性,例如一个 User 对象。

HttpSession session = request.getSession(true);
Object userObject = session.getAttribute("name");
if ((userObject != null) && (userObject instanceof User)) {
    User currentUser = (User) userObject;
    ...
}
Run Code Online (Sandbox Code Playgroud)

问题如下: .getAttribute 函数获取一个字符串名称作为参数 - 名称是什么?我从哪里知道名字的?它是在某处预定义的吗?- 那么在哪里定义另一个?

谢谢!

java httpsession getattribute jakarta-ee

4
推荐指数
1
解决办法
2万
查看次数

Java:not-void方法作为map值

我有一些像这样的代码:

public class A {
    private final Map<String, Runnable> map = new HashMap<>();
    public A() {
        map.put("a", () -> a());
        map.put("b", () -> b());
    }
    public int a() {
        return 1;
    }
    public int b() {
        return 2;
    }
    public int c(String s) {
        // map.get(s).run(); <= returns void, but
        //                      I need the result of the 
        //                      function paired to the string.
        // What TODO?
    }
}
Run Code Online (Sandbox Code Playgroud)

我没有 - 函数(a(),b())作为地图的值,与字符串配对.我需要运行函数并获取函数的结果,并在函数中返回它c().该run()函数返回void …

java methods dictionary functional-programming interface

3
推荐指数
1
解决办法
271
查看次数