DTO和实体之间有什么区别?详细信息以下是我的问题:
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.什么,从他们把在MyFirstDTO和MySecondDTO班?
如果实体之间存在继承,那么我应该如何在DTO中表示它?例如:
@Entity
public class MyFirstEntity extends MySecondEntity {
....
}
@Entity
public class MyFirstDTO extends MySecondDTO {
....
}
Run Code Online (Sandbox Code Playgroud)我应该如何使用它们?例如,我发现了这一点:我正在开发一个Web项目.网页的用户想要注册.他/她填写表格,并将其发送到服务器.在服务器端,我首先创建一个DTO,因为它的字段具有验证.从DTO我创建一个实体并将其持久化到数据库.当有实体请求时,我将请求的实体转换为DTO,并将其提供给客户端的用户.是不是很好的想象力?
我有一个简单而简短的问题,但在任何地方都找不到答案。我创建了一个 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 函数获取一个字符串名称作为参数 - 名称是什么?我从哪里知道名字的?它是在某处预定义的吗?- 那么在哪里定义另一个?
谢谢!
我有一些像这样的代码:
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 ×3
dictionary ×1
dto ×1
entity ×1
getattribute ×1
httpsession ×1
interface ×1
jakarta-ee ×1
methods ×1