【问题标题】:JPA: single database field, multiple times in different fomr on that same EntityJPA:单个数据库字段,在同一实体上以不同形式多次
【发布时间】:2012-05-21 07:32:00
【问题描述】:

就像在一个主题中... 如何从一个实体中的数据库中获取相同的字段,但有两种不同的类型....

@Entity
@Table(name = "ROOMS")
public class Rooms implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID_ROOM")

private int idRoom;

@ManyToOne
@JoinColumn(name = "ID_HOTEL")
private Hotel hotel;
//and right here I need a something like

@JoinColumn(name = "ID_HOTEL")
private int hotelId;

但是....我只需要它来使用 EL 进行一些搜索...我不需要它来插入或更新....

【问题讨论】:

  • 你知道你可以使用Rooms.hotelId = ?而不是Rooms.hotel.id = ?,反之亦然?
  • 它不适用于 CriteriaQuery:/ 我试图创建抽象 DAO,并从 PrimeFaces 过滤 LazyDataModel 的字段...
  • 什么不完全有效?您是否在条件查询中获取了子对象?
  • 好吧.... @Column(name="ID_HOTEL", insertable=false, updatable=false) private int hotelId;只有getter方法解决了我的问题......无论如何,非常感谢:)

标签: jakarta-ee jpa entity


【解决方案1】:

您的hotelId 是@Basic,因此您必须使用@Column 而不是@JoinColumn。您还应该将其中一列设置为可插入/可更新=false,因为您要对其进行两次映射。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 2015-05-14
    • 1970-01-01
    • 1970-01-01
    • 2012-01-28
    相关资源
    最近更新 更多