java - 如何使用@OneToOne将不同的实体作为属性添加到对象

标签 java jpa

我的应用程序中有两个实体:HousePhoto

House 有一个属性 mainPhoto,它与 Photo 具有 @OneToOne 关系

这里一切正常。现在我想为管理员创建一个表单,他可以在其中添加新的House。我想添加一个上传字段,他可以在其中选择照片

如何获取这张照片,将其放入名为photo的表中(使用一些预定义值+这张照片创建一个对象)并设置它们之间的关系?

最佳答案

这在 JPA 中应该是相当微不足道的。

上传后,实例化一个Photo对象并将其分配给HousemainPhoto属性。然后将结果合并到持久上下文中。确保您在关系上启用了合并级联。

基本上是这样的:

Photo photo = new Photo();
// set photo properties according to uploaded file

house.setMainPhoto(photo);
entityManager.merge(house);

关于java - 如何使用@OneToOne将不同的实体作为属性添加到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8777597/

相关文章:

Java 等待、通知 - 等待不起作用?

java - 在 JPA DTO 投影查询中加载子集合 DTO

java - 使用 CriteriaBuilder 获取列的总和

spring - 尝试使用 hibernate 适配器设置 spring 和 jpa 时出现 Autowiring 异常

database - 在遗留数据库 (JPA) 中将空列映射为 0

java - 访问内部对象类变量

java - 线程 "main"java.lang.NullPointerException 中的异常 - HBase 索引数据

java - 处理2.0b8 : Virtual Memory Size increasing on macosx

java - 将 Eclipse 项目从 Windows 迁移到 Ubuntu 后,Eclipse 在所有地方显示 "cannot be resolved"编译错误

google-app-engine - GAE JPA DataNucleus 一对多对象创建